[JAVA] Spring RestTemplate Config Timeout-Einstellung

Spring RedisTemplate ist in Erwartung eines Zeitlimits auf 2000 ms eingestellt, funktioniert jedoch möglicherweise nicht und die Verarbeitung kann zum Stillstand kommen. Überprüfen Sie, ob es durch Hinzufügen von Einstellungen gelöscht werden kann. Wenn nicht, können Sie selbst eine Zeitüberschreitung feststellen. .. ..

· Konfiguriert setConnectionRequestTimeout:10000msec setReadTimeout:2000msec

·hinzufügen? setConnectionRequestTimeout → Ich konnte nicht überprüfen, weil ich nicht genug Zeit hatte

・ Wie Sie selbst eine Auszeit nehmen können Diesmal war es Async (Methode mit Spring @Async), setzen Sie also return auf Future Verwenden Sie auch RetryTemplate, um mit dem folgenden Gefühl zu antworten

RetryTemplate


RetryTemplate retryTemplate = new RetryTemplate();

Map<Class<? extends Throwable>, Boolean> exceptions = Maps.newHashMap();
exceptions.put(TimeoutException.class, true);
retryTemplate.setRetryPolicy(new SimpleRetryPolicy(10, exceptions));

FixedBackOffPolicy backOffPolicy = new FixedBackOffPolicy();
backOffPolicy.setBackOffPeriod(10);
retryTemplate.setBackOffPolicy(backOffPolicy);

Future<T>(getResult)


Future<T> future = async.execute();
T result = retryTemplate.execute(new RetryCallback<T, TimeoutException>() { 
    @Override
    public T doWithRetry(RetryContext context) throws TimeoutException {
        if (future.isDone()) {
            return future.get();
        }
        throw new TimeoutException();
    }
});

Referenz ・ API https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/client/HttpComponentsClientHttpRequestFactory.html

Recommended Posts

Spring RestTemplate Config Timeout-Einstellung
Spring RedisTemplate Config Timeout-Einstellung
Spring + MyBatis-Verbindungseinstellungsmethode
Java-Konfiguration mit Spring MVC
Spring Boot Externe Einstellungspriorität
[Rails] Einstellung des Sitzungszeitlimits im Gerät
Java HTTP Client API-Zeitlimiteinstellung
Einbetten des Konfigurationsservers in Spring Cloud Config