веб-экземпляр уже остановлен - PullRequest
7 голосов
/ 22 марта 2011

я получаю эту ошибку

Mar 22, 2011 12:36:01 AM org.apache.catalina.loader.WebappClassLoader findResourceInternal
INFO: Illegal access: this web application instance has been stopped already.  Could not load META-INF/services/javax.xml.parsers.DocumentBuilderFactory.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
Mar 22, 2011 12:36:01 AM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already.  Could not load com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1562)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at javax.xml.parsers.FactoryFinder.getProviderClass(Unknown Source)
    at javax.xml.parsers.FactoryFinder.newInstance(Unknown Source)
    at javax.xml.parsers.FactoryFinder.find(Unknown Source)
    at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
    at com.xmlparser.XmlParser.parseXmlFile(XmlParser.java:33)
    at com.xmlparser.XmlParser.<init>(XmlParser.java:25)
    at com.jobs.SendRoutineMessagesJob.execute(SendRoutineMessagesJob.java:29)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)

Может кто-нибудь подсказать мне, какую ошибку я здесь совершаю. я не уверен, нужно ли мне вставлять исходный код.

Ответы [ 3 ]

8 голосов
/ 04 августа 2016

Это из-за того, что вы развертываете новый экземпляр вашего приложения на сервере, но какой-то поток или соединение предыдущих экземпляров пытается выполнить написанную вами бизнес-логику.Вот почему основная часть JVM под названием ClassLoader информирует вас о «Нелегальном доступе: этот экземпляр веб-приложения уже остановлен» и выдает соответствующее исключение ... Вы можете отключить функцию автоматического развертывания Application Server, которая предпочтительнее в производственной среде и послеРазвертывание сервера перезапуска приложений вручную.Или вы можете в контроллере уровня Servlet Life Cycle :))) во время «предварительного развертывания» закрыть все соединения или остановить некоторые потоки.Или используйте сложный способ управления потоками с ManagedExecutorService.Удачи !!!

7 голосов
/ 27 марта 2011

похоже, что я создавал экземпляр чего-то, что уже было создано .. я удалил экземпляр и теперь он работает нормально

2 голосов
/ 16 августа 2016

Вы используете Netbeans?У меня была похожая ошибка за исключением того, что она не смогла загрузить oracle.sql.lnxlib .Как указывалось многими авторами, эта ошибка обычно связана с кэшированием Tomcat нескольких экземпляров приложения.Сотрудник смог решить эту проблему для меня, развернув старые экземпляры приложения в Netbeans.Для этого перейдите на вкладку Службы> Серверы , а затем дважды щелкните Apache Tomcat или TomEE , и после запуска приложения один раз с момента открытия netbeans должна появиться папка веб-приложений.Если вы дважды щелкните по нему, вы должны увидеть экземпляры вашего приложения.Вы должны иметь возможность щелкнуть по ним правой кнопкой мыши, а затем нажать «Отменить развертывание» (возможно, вам придется щелкнуть по ним правой кнопкой мыши и сначала нажать «Стоп»).Наконец, вам следует остановиться и запустить tomcat перед сборкой и запуском приложения.

Надеюсь, это поможет.

См. Скриншот для ясности

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...