-
Language:
English
-
Language:
English
Red Hat Training
A Red Hat training course is available for Red Hat Fuse
20.2. Enabling HA with Static Failover
Overview
To enable HA with static failover, you must do the following:
Encode replica details in your service WSDL file
You must encode the details of the replicas in your cluster in your service WSDL file. Example 20.1, “Enabling HA with Static Failover: WSDL File” shows a WSDL file extract that defines a service cluster of three replicas.
Example 20.1. Enabling HA with Static Failover: WSDL File
1<wsdl:service name="ClusteredService"> 2 <wsdl:port binding="tns:Greeter_SOAPBinding" name="Replica1"> <soap:address location="http://localhost:9001/SoapContext/Replica1"/> </wsdl:port> 3 <wsdl:port binding="tns:Greeter_SOAPBinding" name="Replica2"> <soap:address location="http://localhost:9002/SoapContext/Replica2"/> </wsdl:port> 4 <wsdl:port binding="tns:Greeter_SOAPBinding" name="Replica3"> <soap:address location="http://localhost:9003/SoapContext/Replica3"/> </wsdl:port> </wsdl:service>
The WSDL extract shown in Example 20.1, “Enabling HA with Static Failover: WSDL File” can be explained as follows:
- 1
- Defines a service,
ClusterService, which is exposed on three ports:Replica1Replica2Replica3
- 2
- Defines
Replica1to expose theClusterServiceas a SOAP over HTTP endpoint on port9001. - 3
- Defines
Replica2to expose theClusterServiceas a SOAP over HTTP endpoint on port9002. - 4
- Defines
Replica3to expose theClusterServiceas a SOAP over HTTP endpoint on port9003.
Add the clustering feature to your client configuration
In your client configuration file, add the clustering feature as shown in Example 20.2, “Enabling HA with Static Failover: Client Configuration”.
Example 20.2. Enabling HA with Static Failover: Client Configuration
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:clustering="http://cxf.apache.org/clustering"
xsi:schemaLocation="http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<jaxws:client name="{http://apache.org/hello_world_soap_http}Replica1"
createdFromAPI="true">
<jaxws:features>
<clustering:failover/>
</jaxws:features>
</jaxws:client>
<jaxws:client name="{http://apache.org/hello_world_soap_http}Replica2"
createdFromAPI="true">
<jaxws:features>
<clustering:failover/>
</jaxws:features>
</jaxws:client>
<jaxws:client name="{http://apache.org/hello_world_soap_http}Replica3"
createdFromAPI="true">
<jaxws:features>
<clustering:failover/>
</jaxws:features>
</jaxws:client>
</beans>