Я использую CXF для клиента веб-службы SOAP и каким-то образом не могу получить работающую RetryStrategy в качестве FailoverFeature.Другой LoggingFeature работает нормально.Это моя конфигурация Spring:
@Bean
public MyPort myPort() {
final RetryStrategy retryStrategy = new RetryStrategy();
retryStrategy.setMaxNumberOfRetries(5);
retryStrategy.setDelayBetweenRetries(3000);
FailoverFeature failoverFeature = new FailoverFeature();
failoverFeature.setStrategy(retryStrategy);
failoverFeature.setTargetSelector(new FailoverTargetSelector(endpointAddress));
final LoggingFeature logFeature = new LoggingFeature();
MyService service = new MyService(WSDL_LOCATION, logFeature, failoverFeature);
MyPort port = service.getPort();
Client client = ClientProxy.getClient(port);
client.getRequestContext().put(ENDPOINT_ADDRESS, endpointAddress);
return port;
}
CXF, похоже, с радостью принимает FailoverFeature во время загрузки:
INFO org.apache.cxf.clustering.FailoverTargetSelector - corid= Using failover strategy org.apache.cxf.clustering.RetryStrategy@36931450
Но запрос, подобный следующему, не будет повторяться, потому что я получаю (предназначен) "502: Соединение отказано" примерно через 2 сек.
myPort.doSomething()
Что я делаю не так?