Gateway o timeout de conexión incorrectos al utilizar la API de conjuntos de JMS

Si encuentra un gateway incorrecto o un timeout de conexión al utilizar la API de conjuntos de JMS, pruebe las siguientes soluciones:
  • Utilice el SDK para Java para llamar a la API de conjuntos de JMS
  • Reduzca el tamaño de la página de 1000 para obtener entre 500 y 800 registros por página
  • Configure la estrategia de reintentos para reintentarla en caso de fallo, como se muestra en el ejemplo:
    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(); 
  • Aumente la duración del timeout del cliente, como se muestra en el ejemplo:
    ClientConfiguration clientConfiguration = ClientConfiguration.builder()
                    .connectionTimeoutMillis(30000)
                    .readTimeoutMillis(30000)
                    .retryConfiguration(retryConfiguration)
                    .build();
  • Limitar la llamada simultánea a llamadas de API de conjuntos de JMS a menos de diez solicitudes por segundo