问题描述
使用以下值时,我们得到ClientExecutionTimeoutException
ClientConfiguration config = new ClientConfiguration();
config.setClientExecutionTimeout(100);
config.setRequestTimeout(100);
这是在运行状况检查调用中,用于检查存储桶是否存在
amazonS3.doesBucketExistV2(bucketName);
任何人都面临类似的问题,对此有什么解决方案。我检查了POC,如果将其设置为400,错误消失。使用aws-java-sdk-s3 v 1.11和Java 8。
解决方法
由于超时设置为毫秒,因此您设置的执行和请求超时都非常低。
我建议您:
- 将其设置为400毫秒。
- 测试命令执行需要多少时间:
long startTime = System.currentTimeMillis();
amazonS3.doesBucketExistV2(bucketName);
long endTime = System.currentTimeMillis();
long timeElapsed = endTime - startTime;
System.out.println("Execution time in milliseconds: " + timeElapsed);
- 如果经过的时间超过100毫秒,则您的代码将失败100毫秒,因为它应该是这样。
- 根据需要设置超时时间,就可以了。