当前位置: 代码迷 >> java >> Tomcat上的Websockets:如何干净地关闭服务器?
  详细解决方案

Tomcat上的Websockets:如何干净地关闭服务器?

热度:93   发布时间:2023-07-25 19:44:13.0

如何拦截服务器上运行的端点的关闭事件(比如servlet的destroy方法,可以这么说)用于日志记录或其他目的?

Spring 4 Java配置:

实现SmartLifecycle(使用基于Java的配置,或将Java代码转换为XML):

@Configuration
public class CycleBean implements SmartLifecycle {

    public CycleBean() {
    }

    @Override
    public boolean isRunning() {
        return true;
    }

    @Override
    public void start() {
    }

    @Override
    public void stop() {
        //when stopped call 
    }

    @Override
    public int getPhase() {
        return 0;
    }

    @Override
    public boolean isAutoStartup() {
        return true;
    }

    @Override
    public void stop(Runnable arg0) {
        //
    }
}

请参阅第4.6节自定义bean的性质,如:

<bean id="lifecycleProcessor" class="org.springframework.context.support.DefaultLifecycleProcessor">
  <!-- timeout value in milliseconds -->
  <property name="timeoutPerShutdownPhase" value="10000"/>
</bean>
  相关解决方案