Jetty:检测Webapp是否无法启动

时间:2011-12-27 14:35:57

标签: servlets jetty

我正在启动一个包含单个webapp的嵌入式Jetty实例。 webapp在启动时启动。 我想知道如何检测Webapp的contextInitialized是否会引发异常。

当webapp抛出异常时,Server.start()没有,而server.isRunning()返回true。有没有办法让我从容器外听取webapp异常?

2 个答案:

答案 0 :(得分:6)

回答我自己的问题。

设置WebAppContext.setThrowUnavailableOnStartupException(true)会导致服务器将任何webapp例外传播到Server.start()。我猜测在服务器启动后也可以调用WebAppContext.isFailed()来检查各个上下文。

答案 1 :(得分:5)

我偶然发现了这个尝试使这个工作用于非嵌入式解决方案。如果有人在类似的船上,那么该案例的解决方案是使用以下内容创建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>

服务器将按预期在异常启动时失败。