在重新启动托管 Web 服务的服务器时,我正在尝试为 Web 服务客户端实施故障转移。我尝试实现下面的代码,效果很好,但有两个问题:
- 第一次发生“失败”时,客户端将切换到下一个备用地址,但实际上不会完成 Web 服务调用。
- 当主服务器恢复时,客户端不会切换回使用该服务器。相反,它将继续使用它当前使用的任何服务器。
这是代码:
<jaxws:client id="someService"
serviceClass="com.foo.bar.webservice.service.SomeService"
address="https://myserver.server.net/webservices/cxf/SomeService"
username="myuser"
password="mypassword">
<jaxws:features>
<clustering:failover>
<clustering:strategy>
<bean class="org.apache.cxf.clustering.SequentialStrategy">
<property name="alternateAddresses">
<list>
<value>otherserver/webservices/cxf/SomeService</value>
<value>thirdserver/webservices/cxf/SomeService</value>
</list>
</property>
</bean>
</clustering:strategy>
</clustering:failover>
</jaxws:features>
</jaxws:client>
有任何想法吗?