我的项目使用自定义会话失效机制。它需要发送带有无效原因的通知,例如 - 如果用户请求发生无效 - 无效原因是USER_REQUEST,如果关闭服务器 - 则原因是SHUTDOWN。 除了关闭案例之外一切正常 - tomcat本身使所有会话无效(至少是StandardManager)。
据我所知 - 我可以创建自己的经理,根本不会使会话无效:
public class HttpSessionManager extends StandardManager {
@Override
protected synchronized void stopInternal() throws LifecycleException {
setState(LifecycleState.STOPPING);
if (sessionIdGenerator instanceof Lifecycle) {
((Lifecycle) sessionIdGenerator).stop();
}
}
}
这个类应该放在一些jar文件中并放在tomcat / lib文件夹中。 事实上,该解决方案需要为主要解决方案分配额外的tomcat库,这是不好的(交付过程变得复杂)
应该有另一种方法可以做到这一点,或者我的解决方案可以以某种方式得到改善。
答案 0 :(得分:0)
经过漫长而深入的谷歌搜索这个问题 - 我可以说没有其他办法可以做到这一点。