@SuppressWarnings({"checkstyle:NoClone", "checkstyle:SuperClone"}) @Override public Retryer clone() { return new InterruptHonoringRetryer(); } }
@Test public void retriesOtherRetryableExceptions() { RetryableException ex = retryable(new RuntimeException()); retryer.continueOrPropagate(ex); }
@Test public void doesNotRetryInterruptedIoExceptions() { RetryableException ex = retryable(new InterruptedIOException()); assertThatThrownBy(() -> retryer.continueOrPropagate(ex)) .hasCauseInstanceOf(InterruptedIOException.class); }
public static <T> T createProxy( Optional<TrustContext> trustContext, String uri, boolean refreshingHttpClient, Class<T> type, String userAgent) { return Feign.builder() .contract(contract) .encoder(encoder) .decoder(decoder) .errorDecoder(errorDecoder) .retryer(new InterruptHonoringRetryer()) .client(refreshingHttpClient ? FeignOkHttpClients.newRefreshingOkHttpClient(trustContext, Optional.empty(), userAgent) : FeignOkHttpClients.newOkHttpClient(trustContext, Optional.empty(), userAgent)) .target(type, uri); }
@SuppressWarnings({"checkstyle:NoClone", "checkstyle:SuperClone"}) @Override public Retryer clone() { return new InterruptHonoringRetryer(); } }
public static <T> T createProxy( Optional<TrustContext> trustContext, String uri, boolean refreshingHttpClient, Class<T> type, String userAgent) { return Feign.builder() .contract(contract) .encoder(encoder) .decoder(decoder) .errorDecoder(errorDecoder) .retryer(new InterruptHonoringRetryer()) .client(refreshingHttpClient ? FeignOkHttpClients.newRefreshingOkHttpClient(trustContext, Optional.empty(), userAgent) : FeignOkHttpClients.newOkHttpClient(trustContext, Optional.empty(), userAgent)) .target(type, uri); }