Ale*_*lex 11 java tomcat spring-boot
在开发期间,REST服务(Spring Boot 1.1.18)似乎都很好,但是当我们执行不同的性能和负载测试时,服务停止响应并出现以下错误:
org.apache.tomcat.util.net.NioEndpoint log -
java.lang.NoClassDefFoundError: org/apache/tomcat/util/ExceptionUtils
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:711) ~[tomcat-embed-core-7.0.55.jar!/:7.0.55]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) [tomcat-embed-core-7.0.55.jar!/:7.0.55]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1695) [tomcat-embed-core-7.0.55.jar!/:7.0.55]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_55]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-7.0.55.jar!/:7.0.55]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]
Run Code Online (Sandbox Code Playgroud)
测试涵盖了此工作流程:
该服务没有完全崩溃,它仍然可以通过JMX访问,但不响应HTTP - 请求.
我正在寻找一个理由,但没有运气.
更新:
我为堆,堆栈调整和永久生成大小添加了JAVA_OPTS,现在服务稳定并且性能更好.
-Xmx768m -Xms512m -Xss4m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=128m -XX:PermSize=128m
Run Code Online (Sandbox Code Playgroud)
那很好,但为什么呢?
更新:
没有任何帮助,错误仍然存在,Sprint Boot 1.2.0也是如此
小智 1
你是否曾经在源代码目录中运行过“gradle clean”或“mvn clean”,这可以删除spring boot生成的fat jar,这应该是异常的根本原因。由于运行的jvm无法找到被删除的类文件。
归档时间: |
|
查看次数: |
4865 次 |
最近记录: |