java.lang.IllegalStateException: Calling [asyncError()] is not valid for a request with Async state
生活随笔
收集整理的這篇文章主要介紹了
java.lang.IllegalStateException: Calling [asyncError()] is not valid for a request with Async state
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.這個問題是在搭建spring-admin監控的時候發現的,
版本如下
spring-boot: 2.1.7.RELEASE
spring-boot-admin:2.1.5
問題的相關描述看這里
https://github.com/spring-projects/spring-boot/issues/15057
java.lang.IllegalStateException: Calling [asyncError()] is not valid for a request with Async state [MUST_DISPATCH]at org.apache.coyote.AsyncStateMachine.asyncError(AsyncStateMachine.java:440) ~[tomcat-embed-core-9.0.22.jar:9.0.22]at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:512) [tomcat-embed-core-9.0.22.jar:9.0.22]at org.apache.coyote.Request.action(Request.java:430) ~[tomcat-embed-core-9.0.22.jar:9.0.22]at org.apache.catalina.core.AsyncContextImpl.setErrorState(AsyncContextImpl.java:401) ~[tomcat-embed-core-9.0.22.jar:9.0.22]at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:239) ~[tomcat-embed-core-9.0.22.jar:9.0.22]at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:241) [tomcat-embed-core-9.0.22.jar:9.0.22]at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53) [tomcat-embed-core-9.0.22.jar:9.0.22]at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) [tomcat-embed-core-9.0.22.jar:9.0.22]at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) [tomcat-embed-core-9.0.22.jar:9.0.22]at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.22.jar:9.0.22]at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_91]at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_91]at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.22.jar:9.0.22]at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]2021-02-05 11:06:05.148 ERROR 20352 --- [nio-9301-exec-7] o.a.catalina.connector.CoyoteAdapter : Exception while processing an asynchronous requestjava.lang.IllegalStateException: Calling [asyncError()] is not valid for a request with Async state [MUST_DISPATCH]at org.apache.coyote.AsyncStateMachine.asyncError(AsyncStateMachine.java:440) ~[tomcat-embed-core-9.0.22.jar:9.0.22]at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:512) [tomcat-embed-core-9.0.22.jar:9.0.22]at org.apache.coyote.Request.action(Request.java:430) ~[tomcat-embed-core-9.0.22.jar:9.0.22]at org.apache.catalina.core.AsyncContextImpl.setErrorState(AsyncContextImpl.java:401) ~[tomcat-embed-core-9.0.22.jar:9.0.22]at2. 里面有建議的暫行解決方案是降級tomcat
也可以使用jetty替換,去除tomcat的依賴
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId></dependency>實測這個問題在jetty中不存在
另外還有一個關于spring-boot-admin的問題
如果server啟動的時候沒有client注冊上,頁面會一直顯示加載中,查看請求的時候是application一直在請求
總結
以上是生活随笔為你收集整理的java.lang.IllegalStateException: Calling [asyncError()] is not valid for a request with Async state的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Module not found: Er
- 下一篇: Spring Boot Admin:微服