ICEfaces
  1. ICEfaces
  2. ICE-1399

SessionExpiry exception attempting to connect to application

    Details

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

      Description

      Session expiry when bringing up an application for the first time.

      Note that in JBoss environments, this is generally an indication that there is no HttpSessionListener registered to be notified of the session creation, and thus, no handler registered to handle the requests. The exception can, when it's reporting that the session is expired before even bringing up the application, be a bit of a red herring.


      However, there seems to be consensus that the exception occurs in some environments even when the Listener is properly configured in web.xml.

        Activity

        Greg Dick created issue -
        Hide
        Deryk Sinotte added a comment -

        Assigning to Mircea.

        I saw this testing something unrelated on WebSphere. It appears that this logic in SessionDispatcher:

        ...
        if (sessionBoundServers.containsKey(session)) {
        ...

        is always returning false. I put in some logging and it appears that the session it is looking for IS in the map but I guess the equals() logic for Session objects is not reliable and/or container specific. I tried switching over the logic of the SessionDispatcher to rely on session.getId() instead and that did the trick for me.

        Show
        Deryk Sinotte added a comment - Assigning to Mircea. I saw this testing something unrelated on WebSphere. It appears that this logic in SessionDispatcher: ... if (sessionBoundServers.containsKey(session)) { ... is always returning false. I put in some logging and it appears that the session it is looking for IS in the map but I guess the equals() logic for Session objects is not reliable and/or container specific. I tried switching over the logic of the SessionDispatcher to rely on session.getId() instead and that did the trick for me.
        Deryk Sinotte made changes -
        Field Original Value New Value
        Assignee Mircea Toma [ mircea.toma ]
        Philip Breau made changes -
        Support Case References https://www.icesoft.ca:4443/supportilla/show_bug.cgi?id=4007
        Support Customer Ref. #s 723
        Ken Fyten made changes -
        Fix Version/s 1.6DR#3 [ 10050 ]
        Assignee Priority P2
        Ken Fyten made changes -
        Assignee Priority P2 P1
        Mircea Toma made changes -
        Fix Version/s 1.6DR#4 [ 10060 ]
        Fix Version/s 1.6DR#3 [ 10050 ]
        Hide
        Deryk Sinotte added a comment -

        I don't see any change in the code that was having this problem so it should remain open for this release.

        Show
        Deryk Sinotte added a comment - I don't see any change in the code that was having this problem so it should remain open for this release.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #13630 Mon Apr 23 11:15:31 MDT 2007 mircea.toma Use strings (the session ID) as keys -- ICE-1399.
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/SessionDispatcher.java
        Hide
        Mircea Toma added a comment -

        Use strings (the session IDs) as keys since some servlet containers (...Websphere) don't implements HttpSession.equals() method properly.

        Show
        Mircea Toma added a comment - Use strings (the session IDs) as keys since some servlet containers (...Websphere) don't implements HttpSession.equals() method properly.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s 1.6 [ 10031 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P1
        Assignee Mircea Toma [ mircea.toma ]
        Hide
        Sarat Chandra added a comment -

        Hi
        I am facing the problem still. Can you please let me know if I am missing something here.
        I am using Icefaces 1.6.1, JBoss Server 4.0, When I request for index.jsp I get.

        3: <title>ICEfaces Component Showcase</title>
        4: </head>
        5: <body>
        6: <jsp:forward page="welcomeJSF.iface" />
        7: </body>
        8: </html>

        javax.servlet.ServletException: Session expired
        com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:102)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        Thanks in advance,
        Sarat

        Show
        Sarat Chandra added a comment - Hi I am facing the problem still. Can you please let me know if I am missing something here. I am using Icefaces 1.6.1, JBoss Server 4.0, When I request for index.jsp I get. 3: <title>ICEfaces Component Showcase</title> 4: </head> 5: <body> 6: <jsp:forward page="welcomeJSF.iface" /> 7: </body> 8: </html> javax.servlet.ServletException: Session expired com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:102) javax.servlet.http.HttpServlet.service(HttpServlet.java:810) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) Thanks in advance, Sarat
        Hide
        Gary Murphy added a comment -

        I am getting the same error with ICEFaces 1.6.2 running on Tomcat 5.5.26.

        Show
        Gary Murphy added a comment - I am getting the same error with ICEFaces 1.6.2 running on Tomcat 5.5.26.

          People

          • Assignee:
            Unassigned
            Reporter:
            Greg Dick
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: