Spring boot 在spring引导中执行正常关闭时发生连接池关闭错误
我们使用的是spring引导版本“2.3.0.M4”,并设置了以下参数“server.shutdown.grace period=30s”。然而,当我们执行优雅关机(SIGTERM)时,我们的端点最终发布了一个事件,事件侦听器将一条消息发布到AWS消息队列;它成功地服务于HttpRequest,但在事件侦听器发布消息时,我们在控制台上看到以下错误:Spring boot 在spring引导中执行正常关闭时发生连接池关闭错误,spring-boot,asynchronous,event-listener,sigterm,Spring Boot,Asynchronous,Event Listener,Sigterm,我们使用的是spring引导版本“2.3.0.M4”,并设置了以下参数“server.shutdown.grace period=30s”。然而,当我们执行优雅关机(SIGTERM)时,我们的端点最终发布了一个事件,事件侦听器将一条消息发布到AWS消息队列;它成功地服务于HttpRequest,但在事件侦听器发布消息时,我们在控制台上看到以下错误: java.lang.IllegalStateException: Connection pool shut down at org.
java.lang.IllegalStateException: Connection pool shut down
at org.apache.http.util.Asserts.check(Asserts.java:34)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.requestConnection(PoolingHttpClientConnectionManager.java:269)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.amazonaws.http.conn.ClientConnectionManagerFactory$Handler.invoke(ClientConnectionManagerFactory.java:76)
at com.amazonaws.http.conn.$Proxy155.requestConnection(Unknown Source)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:176)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
at com.amazonaws.http.apache.client.impl.SdkHttpClient.execute(SdkHttpClient.java:72)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1258)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1074)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:745)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:719)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:701)
有没有办法避免这个问题