Мы используем JBoss 4.22 с портлетами. Если тег слушателя отсутствует в файле web.xml, портлет загружается, но слушатель sessionDestroyed() никогда не вызывается (очевидно). При добавлении портлет не загружается, и нет никаких исключений или сообщений в журнале. Есть ли какие-то ошибки, о которых я должен знать?
<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 есть некоторые возможные проблемы. Обычно (не в качестве прослушивателя) экземпляр создается соответствующим конструктором портлета (тот, который не загружается, когда прослушиватель добавляется в файл web.xml). Могу ли я по-прежнему ожидать, что это так, или контейнер сам создает экземпляр?