Во время разработки служба 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]
Тестирование охватывает этот рабочий процесс:
- 1) login
- 2) получить информацию из базы данных
- 3) анализирует информацию из файла (находится на хосте службы)
- шаг 2) и 3) повторяются 2000 раз с 5 потоками
Служба не разбилась полностью, она по-прежнему доступна через JMX, но не отвечает на HTTP-запросы.
Я ищу причину, но не повезло.
UPDATE:
Я добавил JAVA_OPTS для кучи, настройки стека и постоянного размера, и теперь сервис стабилен и работает намного лучше.
-Xmx768m -Xms512m -Xss4m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=128m -XX:PermSize=128m
Это здорово, но почему?
UPDATE:
Ничего не помогает, ошибка все еще сохраняется, также с Sprint Boot 1.2.0