JMSフリートAPIの使用中に不正なゲートウェイまたは接続タイムアウトが発生しました
JMSフリートAPIの使用中に不正なゲートウェイまたは接続がタイムアウトした場合は、次の解決策を試してください。
- SDK for Javaを使用してJMSフリートAPIを呼び出します
- ページ・サイズを1000から1ページ当たり500から800レコードに削減
- 次の例に示すように、失敗した場合に再試行するように再試行戦略を構成します。
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(); - 例に示すように、クライアントのタイムアウト期間を増やします。
ClientConfiguration clientConfiguration = ClientConfiguration.builder() .connectionTimeoutMillis(30000) .readTimeoutMillis(30000) .retryConfiguration(retryConfiguration) .build(); - JMSフリートAPIコールの同時起動を1秒当たり10リクエスト未満に制限