默认值似乎为 true,请参阅 http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-server/src/main/config/etc/jetty.xml?h=jetty-9.1.x,超时也存在,5 秒:stopAtShutdown
<Set name="stopAtShutdown">true</Set>
<Set name="stopTimeout">5000</Set>
此外,您可以为更具体的情况配置LifeCycle.Listener,例如,在关闭服务器时,我使用一个来删除pid文件(以及其他事项),我在ServerConnector上使用addLifeCycleListener在连接器中附加侦听器,在jetty xml中,它看起来像:
<Configure id="Server" class="org.eclipse.jetty.server.Server">
...
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.ServerConnector">
...
<Call name="addLifeCycleListener">
<Arg>
<New class="com.acme.jetty.ConnectorListener"/>
</Arg>
</Call>
和 ConnectorListener.java将以如下方式开头:
package com.acme.jetty;
import org.eclipse.jetty.util.component.LifeCycle;
import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
public class ConnectorListener implements LifeCycle.Listener {
private static final Logger LOG = Log.getLogger(ConnectorListener.class);
...
public void lifeCycleStopped(LifeCycle event) {
LOG.debug("lifeCycleStopped()");
}
我知道这并不能直接解决您的问题,但也许您可以向我们提供更多信息。