ICEfaces
  1. ICEfaces
  2. ICE-1403

Cannot use inner class as a listener in WebSphere.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6DR#2, 1.6
    • Fix Version/s: 1.6DR#4, 1.6
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      Websphere 6.0.2

      Description

      Currently, we try to load an inner class as a context and session listener. We do it by including it in the "include.tld" file of the icefaces.jar. The listener entry in that file looks like this:

          <listener>
              <listener-class>com.icesoft.faces.webapp.http.servlet.SessionDispatcher$Listener</listener-class>
          </listener>

      There appears to be two separate but related problems:

      1) WebSphere doesn't seem to support loading the listener via the .tld mechansim. Since the listener doesn't load, you get a Session Expired message immediately. This is easy to work around in the various containers that don't support this feature by manually adding the entry to the application's web.xml file.

      2) In WebSphere, even if you do add the listener to your web.xml, it throws a ClassNotFoundException. Making the Listener a separate, external class seems to solve the problem.

        Activity

        Hide
        Mircea Toma added a comment -

        Instantiate and call SessionDispatcher$Listener directly from ContextEventRepeater (as a temprary solution).

        Show
        Mircea Toma added a comment - Instantiate and call SessionDispatcher$Listener directly from ContextEventRepeater (as a temprary solution).

          People

          • Assignee:
            Unassigned
            Reporter:
            Deryk Sinotte
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: