Jetty:检测Webapp是否无法启动

Gil*_*ili 7 servlets jetty

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

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

Gil*_*ili 6

回答我自己的问题.

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


and*_*w b 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>
Run Code Online (Sandbox Code Playgroud)

服务器将按预期在异常上启动失败.