我们使用带有portlet 的JBoss 4.22。当监听器标记不在 web.xml 中时,portlet 会加载,但监听器 sessionDestroyed() 永远不会被调用(显然)。添加时不会加载 portlet,也没有任何异常或日志消息。有什么我应该注意的问题吗?
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<!-- Listeners used by application -->
<listener>
<listener-class>listenerpackage.MyClassThatImplementsHttpSessionListener</listener-class>
</listener>
...Other tags...
</web-app>
在回复评论时,我一直在查看代码以查找问题点。我的 Listener 的构造函数确实有一些可能的问题。通常(不是作为侦听器)一个实例将由相关的 portlet(当侦听器添加到 web.xml 时未加载的那个)构造函数创建。我仍然可以期望这种情况还是容器本身创建一个实例?