我正在启动一个包含单个webapp的嵌入式Jetty实例.webapp在启动时启动.我想知道如何检测Webapp的contextInitialized是否会引发异常.
当webapp抛出异常时,Server.start()不会,server.isRunning()返回true.有没有办法让我从容器外听取webapp异常?
回答我自己的问题.
设置WebAppContext.setThrowUnavailableOnStartupException(true)会导致服务器将任何webapp例外传播到Server.start().我猜测也可以WebAppContext.isFailed()在服务器启动后调用以检查各个上下文.
我偶然发现了这个尝试使这个工作非嵌入式解决方案.如果有人在类似的船上,那么该案例的解决方案是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)
服务器将按预期在异常上启动失败.
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |