Jetty: обнаружение, если Webapp не удалось запустить - PullRequest
7 голосов
/ 27 декабря 2011

Я запускаю встроенный экземпляр Jetty, содержащий одно веб-приложение. Веб-приложение запускается при запуске. Я хотел бы знать, как определить, вызывает ли contextInitialized Webapp исключение.

Когда веб-приложение выдает исключение, Server.start () нет, а server.isRunning () возвращает true. Есть ли способ прослушать исключения веб-приложений извне контейнера?

Ответы [ 2 ]

6 голосов
/ 27 декабря 2011

Отвечая на мой собственный вопрос.

Установка WebAppContext.setThrowUnavailableOnStartupException(true) заставляет сервер распространять любые исключения веб-приложений на Server.start().Я предполагаю, что можно также вызвать WebAppContext.isFailed() после запуска сервера для проверки отдельных контекстов.

5 голосов
/ 06 августа 2013

Я наткнулся на это, пытаясь заставить это работать для не встроенного решения. Если кто-то находится в подобной лодке, решение для этого случая - создать WEB-INF/jetty-env.xml со следующим содержимым:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <Set name="throwUnavailableOnStartupException">true</Set>
</Configure>

Сервер не запустится при исключении, как ожидалось.

...