웹 서비스를 호스팅하는 서버를 다시 시작하는 동안 웹 서비스 클라이언트에 대한 장애 조치를 구현하려고합니다. 나는 꽤 잘 작동 아래의 코드를 구현하려고 시도했지만 두 문제 :CXF 장애 조치 문제
- "실패"가 발생 처음으로, 클라이언트는 다음 대체 주소로 전환 것이지만 실제로 웹 서비스 호출을 완료 할 것 .
- 주 서버가 다시 작동하면 클라이언트는 해당 서버를 사용하도록 다시 전환하지 않습니다. 대신 현재 사용중인 서버를 사용하여 계속됩니다.
<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>
어떤 아이디어 : 여기
코드인가?
내가로드 밸런싱을 통해 장애 조치를 동의하지만 아마도 가장 깨끗한 쉬운 솔루션입니다 (장애 복구 능력을) 필요가있는 다른 CXF 장애 복구 기능을 시도 할 수 있습니다, 그것은하지 않습니다 나를 위해 일한다. 이 서비스 호출은 JMS 메시지 수신에 의해 트리거되며 모든 잠재적 노드를 사용할 수없는 경우에도 메시지를 삭제할 여유가 없습니다. –