22.2. 使用静态故障切换启用 HA
概述
在服务 WSDL 文件中对副本的详细信息进行编码
您必须在服务 WSDL 文件中对集群中的副本的详细信息进行编码。例 22.1 “使用静态故障切换启用 HA:WSDL 文件” 显示定义三个副本的服务集群的 WSDL 文件提取。
例 22.1. 使用静态故障切换启用 HA:WSDL 文件
<wsdl:service name="ClusteredService"> <wsdl:port binding="tns:Greeter_SOAPBinding" name="Replica1"> <soap:address location="http://localhost:9001/SoapContext/Replica1"/> </wsdl:port> <wsdl:port binding="tns:Greeter_SOAPBinding" name="Replica2"> <soap:address location="http://localhost:9002/SoapContext/Replica2"/> </wsdl:port> <wsdl:port binding="tns:Greeter_SOAPBinding" name="Replica3"> <soap:address location="http://localhost:9003/SoapContext/Replica3"/> </wsdl:port> </wsdl:service>
例 22.1 “使用静态故障切换启用 HA:WSDL 文件” 中显示的 WSDL 提取如下所示:
定义在三个端口上公开的服务 ClusterService
:
-
Replica1
-
Replica2
-
Replica3
定义 Replica1
,以通过端口 9001
上的 HTTP 端点公开 ClusterService
。
定义 Replica2
,以通过端口 9002
上的 HTTP 端点公开 ClusterService
。
定义 Replica3
,以通过端口 9003
上的 HTTP 端点公开 ClusterService
。
在客户端配置中添加集群功能
在客户端配置文件中,添加集群功能,如 例 22.2 “使用静态故障切换启用 HA:客户端配置” 所示。
例 22.2. 使用静态故障切换启用 HA:客户端配置
<?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>