在Jetty 9.3中启用正常关闭的正确方法

时间:2015-12-09 12:15:45

标签: jetty embedded-jetty jetty-9

我一直在尝试使用StatisticsHandler在Jetty 9.3中启用正常关闭。但令我沮丧的是,它似乎并不那么直截了当。首先,让我解释一下我的环境。我正在使用多个jetty模块(gzip,server,servlets,jsp,jstl等),每个模块都由start.d目录中相应的.ini文件实例化。我已将stopTimeout设置为15000并将stopAtShutdown设置为true。 (与默认的jetty.xml相同)

要启用StatisticsHandler,我尝试了以下方法:

  1. 在start.d目录中添加了stats.ini文件,文件内容如下:

    - 模块=统计

    即使在添加模块并重新启动jetty之后,当我停止码头时,没有正常关闭,它会立即停止。

  2. 然后我尝试在文档中提到的Jetty.xml中添加统计信息处理程序。它添加如下:

  3. <Get id="oldhandler" name="handler" /> <Set name="handler"> <New id="StatsHandler" class="org.eclipse.jetty.server.handler.StatisticsHandler"> <Set name="handler"><Ref refid="oldhandler" /></Set> </New> </Set>

    但即便如此,重新启动码头并没有解决我的问题。有人可以指导我做错了什么,或者需要做些什么才能在码头上正常关机。

    提前致谢。

1 个答案:

答案 0 :(得分:0)

正常关闭与StatisticsHandler(或其模块)无关,它由org.eclipse.jetty.server.ShutdownMonitor对象控制,并与org.eclipse.jetty.server.Server实例交互。

其行为由${jetty.base}配置决定,并由jetty-distribution的start.jar直接发送给您先前在{{1}启动时配置的活动ShutdownMonitor实例。