我发现创建一个AmazonS3Client会导致进程即使没有执行任何操作也一直挂起。我正在执行文件上传,但我已经将其缩减到以下代码。
当我运行以下代码(使用有效的凭据)时,它会打印“Simple is finished”,但进程直到最终maven:exec告诉我才退出:
代码如下:
这是正常的工作方式吗?有没有一种方法可以终止它?
编辑:添加版本信息:
当我运行以下代码(使用有效的凭据)时,它会打印“Simple is finished”,但进程直到最终maven:exec告诉我才退出:
Simple is finished
[WARNING] thread Thread[java-sdk-http-connection-reaper,5,Simple] was interrupted but is still alive after waiting at least 15000msecs
[WARNING] thread Thread[java-sdk-http-connection-reaper,5,Simple] will linger despite being asked to die via interruption
[WARNING] NOTE: 1 thread(s) did not finish despite being asked to via interruption. This is not a problem with exec:java, it is a problem with the running code. Although not serious, it should be remedied.
[WARNING] Couldn't destroy threadgroup org.codehaus.mojo.exec.ExecJavaMojo$IsolatedThreadGroup[name=Simple,maxpri=10]
java.lang.IllegalThreadStateException
代码如下:
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
public class Simple {
private static String accessKey = "XXX";
private static String secretKey = "ZZZ";
public static void main(String[] args) {
AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
AmazonS3 s3client = new AmazonS3Client(credentials);
System.out.println("Simple is finished");
}
}
这是正常的工作方式吗?有没有一种方法可以终止它?
编辑:添加版本信息:
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.9.33</version>
</dependency>