我可以用 Tomcat 8 注册多个 HttpSessionListener 覆盖吗?

Can I register multiple HttpSessionListener overrides with Tomcat 8?

我想将第三方会话管理器库(它是 AWS DynamoDB lib)与 Tomcat 8 (Servlet 3.x) 一起使用。每次会话被销毁时,我都想包含一些我自己的自定义行为,例如

public class MySessionListener implements HttpSessionListener {

    @Override
    public void sessionDestroyed(HttpSessionEvent event) {
        // do it...
    }   
}

...和

<web-app ...>
    <listener>
        <listener-class>my.package.MySessionListener</listener-class>
    </listener>
</web-app>

...除了:

<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Manager className="com.amazonaws.services.dynamodb.sessionmanager.DynamoDBSessionManager" />
</Context>

我的会话销毁覆盖是否会破坏 AWS 会话管理器自己的会话销毁覆盖,反之亦然?或者,每当会话被销毁时,Tomcat 是否会实现我的覆盖和 AWS 库覆盖的功能。

显然是的,我可以。我已经设置了会话管理器并添加了额外的会话销毁侦听器,当我使会话无效时,我自己的会话销毁代码正在 运行 以及会话管理器做任何它需要做的事情。

想必您可以拥有任意数量的听众。