Gateway o timeout di connessione non valido durante l'uso dell'API Flotte JMS

Se si verifica un timeout di connessione o un gateway errato durante l'utilizzo dell'API Flotte JMS, provare le soluzioni riportate di seguito.
  • Utilizzare l'SDK per Java per richiamare l'API Flotte JMS
  • Riduci le dimensioni della pagina da 1000 per ottenere 500-800 record per pagina
  • Configurare la strategia dei nuovi tentativi per riprovare in caso di errore, come illustrato nell'esempio riportato di seguito.
    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(); 
  • Aumentare la durata del timeout del client, come mostrato nell'esempio:
    ClientConfiguration clientConfiguration = ClientConfiguration.builder()
                    .connectionTimeoutMillis(30000)
                    .readTimeoutMillis(30000)
                    .retryConfiguration(retryConfiguration)
                    .build();
  • Limita il richiamo simultaneo di chiamate API Flotte JMS a meno di dieci richieste al secondo