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