Я использую встроенный Jetty для запуска стандартного Java webapp. Мой пусковое это что-то вроде этого:Ошибка запуска Webapp, но Jetty LifeCycle утверждает, что «начал»
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.util.component.LifeCycle.Listener;
import org.eclipse.jetty.webapp.WebAppContext;
...
Listener listener = ...;
Server server = new Server(8080);
WebAppContext webapp = new WebAppContext();
...
webapp.addLifeCycleListener(listener);
server.setHandler(webapp);
server.start();
...
Это все работает отлично, что я могу начать мое приложение и перейдите к нему и все, кажется, работает.
Но теперь я пытаюсь добавить отчет об ошибках в свою пусковую установку. Я временно установил, что мой webapp выбрал исключение в методе contextInitialized()
ServletContextListener
. Исключение, и я получаю сообщение журнальной
ERROR org.eclipse.jetty.util.log Failed startup of context [email protected]
но мой LifeCycleListener не receieve какого-либо события отказа. Фактически, он получает начатое событие, и WebAddContext
, переданный слушателю, возвращает false для LifeCycle#isFailed()
и true для LifeCycle#isRunning()
.
Просмотр результатов моего веб-поиска в 503 Службах Недоступные ошибки.
Это происходит в версиях Jetty 7.0.1.v20091125 и 7.2.1.v20101111. См. Jetty 7 api docs.
Я пробовал подключить слушателей всем, кому не повезло. Я смотрю на [источник для WebAppContext] (http://download.eclipse.org/jetty/stable-7/xref/org/eclipse/jetty/webapp/WebAppContext.html#483). Этот Log.warn соответствует сообщению журнала, которое я вижу (кроме того, что я вижу его на уровне ошибки ...). Если я читаю это право, ошибка полностью проглатывается. Соответствующая часть в [AbstractLifeCycle] (http://download.eclipse.org/jetty/stable-7/xref/org/eclipse/jetty/util/component/AbstractLifeCycle.html#46) устанавливает ошибки, когда исключения подкласс `doStart()`. – Patrick 2010-12-01 22:57:18