我们有一个需要在集群中运行的第三方Java Web应用程序(我们需要跨集群复制会话),应用程序中的会话属性不可序列化,我们不能访问源代码,是他们的干净,非侵入性的方法来拦截session.set属性调用并在将对象放入会话之前更改它们
答案 0 :(得分:2)
看到HttpSessionAttributeListener
不是一个适合您的解决方案,您可以选择使用ServletFilter
。不确定是否会对您的要求过于干扰,但是......
HTTPServletRequest
实现传递HttpServletRequestWrapper
您传递链,通过返回创建的原始容器的装饰器实现来覆盖getSession
Session
实施setAttribute
方法的门户。