Fehlerhafter Gateway- oder Verbindungstimeout bei Verwendung der JMS-Flotten-API
Wenn bei Verwendung der JMS-Flotten-API ein ungültiges Gateway oder ein Verbindungs-Timeout auftritt, versuchen Sie die folgenden Lösungen:
- Mit dem SDK für Java die JMS-Flotten-API aufrufen
- Reduzieren Sie die Seitengröße von 1000, um 500-800 Datensätze pro Seite zu erhalten
- Konfigurieren Sie die Wiederholungsstrategie so, dass sie bei einem Fehler erneut versucht wird, wie im Beispiel dargestellt:
final long DEFAULT_MAX_WAIT_TIME = TimeUnit.SECONDS.toMillis(40L); final int DEFAULT_MAX_RETRY_ATTEMPTS = 9; RetryConfiguration retryConfiguration = RetryConfiguration.builder().terminationStrategy(new MaxAttemptsTerminationStrategy(DEFAULT_MAX_RETRY_ATTEMPTS)) .delayStrategy(new ExponentialBackoffDelayStrategyWithJitter(DEFAULT_MAX_WAIT_TIME)).terminationStrategy(new MaxAttemptsTerminationStrategy(DEFAULT_MAX_RETRY_ATTEMPTS)) .delayStrategy(new ExponentialBackoffDelayStrategyWithJitter(DEFAULT_MAX_WAIT_TIME)).retryCondition((exception) -> exception.getStatusCode() == 429 || exception.getStatusCode() == 502 || exception.getStatusCode() == 503 || exception.getStatusCode() == 504).build();
- Erhöhen Sie die Client-Timeout-Dauer, wie im Beispiel dargestellt:
ClientConfiguration clientConfiguration = ClientConfiguration.builder() .connectionTimeoutMillis(30000) .readTimeoutMillis(30000) .retryConfiguration(retryConfiguration) .build();
- Aufrufen von JMS-Flotten-API-Aufrufen gleichzeitig auf weniger als zehn Anforderungen pro Sekunde begrenzen