diff options
Diffstat (limited to 'eaaf_core_utils/src')
4 files changed, 19 insertions, 5 deletions
| diff --git a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/HttpClientConfiguration.java b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/HttpClientConfiguration.java index ec7d115a..9239d0c5 100644 --- a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/HttpClientConfiguration.java +++ b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/HttpClientConfiguration.java @@ -6,6 +6,7 @@ import java.util.UUID;  import javax.annotation.Nonnull;  import org.apache.commons.lang3.StringUtils; +import org.apache.http.client.ServiceUnavailableRetryStrategy;  import at.gv.egiz.eaaf.core.exceptions.EaafConfigurationException;  import at.gv.egiz.eaaf.core.impl.credential.KeyStoreConfiguration; @@ -62,7 +63,11 @@ public class HttpClientConfiguration {    @Setter    private boolean httpErrorRetryPost = false; + +  @Setter +  private ServiceUnavailableRetryStrategy serviceUnavailStrategy = null; +       /**     * Get a new HTTP-client configuration object.     * @@ -195,5 +200,4 @@ public class HttpClientConfiguration {      }    } -  } diff --git a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/HttpClientFactory.java b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/HttpClientFactory.java index b53226ce..647c0636 100644 --- a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/HttpClientFactory.java +++ b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/HttpClientFactory.java @@ -164,6 +164,13 @@ public class HttpClientFactory implements IHttpClientFactory {            config.getHttpErrorRetryCount(),             config.isHttpErrorRetryPost()));   +      if (config.getServiceUnavailStrategy() != null) { +        log.debug("HttpClient configuration: {} set custom ServiceUnavailableRetryStrategy: {}", +            config.getFriendlyName(), config.getServiceUnavailStrategy().getClass().getName()); +        builder.setServiceUnavailableRetryStrategy(config.getServiceUnavailStrategy()); +         +      } +            } else {        log.info("Disable HTTP error-retry for http-client: {}", config.getFriendlyName());        builder.disableAutomaticRetries(); diff --git a/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/test/http/HttpClientFactoryTest.java b/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/test/http/HttpClientFactoryTest.java index 63ac38a3..c35ef604 100644 --- a/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/test/http/HttpClientFactoryTest.java +++ b/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/test/http/HttpClientFactoryTest.java @@ -553,13 +553,16 @@ public class HttpClientFactoryTest {          keyStoreFactory.buildNewKeyStore(clientConfig.getKeyStoreConfig());      X509Certificate clientRootCert = (X509Certificate) sslClientKeyStore.getFirst()              .getCertificateChain(clientConfig.getSslKeyAlias())[1]; - +    X509Certificate clientEeCert = (X509Certificate) sslClientKeyStore.getFirst() +        .getCertificateChain(clientConfig.getSslKeyAlias())[0]; +          final String localhost = InetAddress.getByName("localhost").getCanonicalHostName();      final HeldCertificate localhostCertificate = new HeldCertificate.Builder()          .addSubjectAlternativeName(localhost)          .build();      final HandshakeCertificates serverCertificates = new HandshakeCertificates.Builder()          .addTrustedCertificate(clientRootCert) +        .addTrustedCertificate(clientEeCert)          .heldCertificate(localhostCertificate)          .build();      mockWebServer = new MockWebServer(); diff --git a/eaaf_core_utils/src/test/resources/data/config1.properties b/eaaf_core_utils/src/test/resources/data/config1.properties index 93729b15..6192002e 100644 --- a/eaaf_core_utils/src/test/resources/data/config1.properties +++ b/eaaf_core_utils/src/test/resources/data/config1.properties @@ -4,6 +4,6 @@ security.hsmfacade.trustedsslcert=src/test/resources/data/hsm_facade_trust_root.  security.hsmfacade.username=authhandler-junit  security.hsmfacade.password=supersecret123 -client.http.connection.timeout.socket=1 -client.http.connection.timeout.connection=1 -client.http.connection.timeout.request=1
\ No newline at end of file +client.http.connection.timeout.socket=2 +client.http.connection.timeout.connection=2 +client.http.connection.timeout.request=2
\ No newline at end of file | 
