java.lang.RuntimeException: java.lang.IllegalAccessException: Class org.jboss.seam.contexts.FacesLifecycle can not access a member of class com.icesoft.faces.webapp.http.servlet.ServletExternalContext$1 with modifiers "public"

ICEsoft JIRA Issue Tracker | Greg Dick | 10 years ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    The problem was found in a Seam environment, but is not strictly limited to Seam. The following code in ServletExternalContext wraps the ProxyHttpSession object in a new anonymous wrapper class that overrides the invalidate method: this.session = new ProxyHttpSession(this.request.getSession()) { public void invalidate() { sessionMonitor.shutdown(); } }; This works fine if you call the method normally, but calling the invalidate method by introspection throws the following exception: 2007-08-09 10:03:03,140 ERROR [STDERR] java.lang.RuntimeException: java.lang.IllegalAccessException: Class org.jboss.seam.contexts.FacesLifecycle can not access a member of class com.icesoft.faces.webapp.http.servlet.ServletExternalContext$1 with modifiers "public" 2007-08-09 10:03:03,140 ERROR [STDERR] at org.jboss.seam.contexts.FacesLifecycle.invalidateSession(FacesLifecycle.java:170) 2007-08-09 10:03:03,140 ERROR [STDERR] at org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:121) 2007-08-09 10:03:03,140 ERROR [STDERR] at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:497) 2007-08-09 10:03:03,140 ERROR [STDERR] at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:230) 2007-08-09 10:03:03,140 ERROR [STDERR] at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:184) 2007-08-09 10:03:03,140 ERROR [STDERR] at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280) 2007-08-09 10:03:03,140 ERROR [STDERR] at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) 2007-08-09 10:03:03,140 ERROR [STDERR] at com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:26) 2007-08-09 10:03:03,140 ERROR [STDERR] at com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:126) 2007-08-09 10:03:03,156 ERROR [STDERR] at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36) 2007-08-09 10:03:03,156 ERROR [STDERR] at com.icesoft.faces.webapp.http.core.PageServer.service(PageServer.java:31) 2007-08-09 10:03:03,156 ERROR [STDERR] at com.icesoft.faces.webapp.http.core.SingleViewServer.service(SingleViewServer.java:46) . . .

    ICEsoft JIRA Issue Tracker | 10 years ago | Greg Dick
    java.lang.RuntimeException: java.lang.IllegalAccessException: Class org.jboss.seam.contexts.FacesLifecycle can not access a member of class com.icesoft.faces.webapp.http.servlet.ServletExternalContext$1 with modifiers "public"
  2. 0

    The problem was found in a Seam environment, but is not strictly limited to Seam. The following code in ServletExternalContext wraps the ProxyHttpSession object in a new anonymous wrapper class that overrides the invalidate method: this.session = new ProxyHttpSession(this.request.getSession()) { public void invalidate() { sessionMonitor.shutdown(); } }; This works fine if you call the method normally, but calling the invalidate method by introspection throws the following exception: 2007-08-09 10:03:03,140 ERROR [STDERR] java.lang.RuntimeException: java.lang.IllegalAccessException: Class org.jboss.seam.contexts.FacesLifecycle can not access a member of class com.icesoft.faces.webapp.http.servlet.ServletExternalContext$1 with modifiers "public" 2007-08-09 10:03:03,140 ERROR [STDERR] at org.jboss.seam.contexts.FacesLifecycle.invalidateSession(FacesLifecycle.java:170) 2007-08-09 10:03:03,140 ERROR [STDERR] at org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:121) 2007-08-09 10:03:03,140 ERROR [STDERR] at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:497) 2007-08-09 10:03:03,140 ERROR [STDERR] at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:230) 2007-08-09 10:03:03,140 ERROR [STDERR] at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:184) 2007-08-09 10:03:03,140 ERROR [STDERR] at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280) 2007-08-09 10:03:03,140 ERROR [STDERR] at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) 2007-08-09 10:03:03,140 ERROR [STDERR] at com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:26) 2007-08-09 10:03:03,140 ERROR [STDERR] at com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:126) 2007-08-09 10:03:03,156 ERROR [STDERR] at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36) 2007-08-09 10:03:03,156 ERROR [STDERR] at com.icesoft.faces.webapp.http.core.PageServer.service(PageServer.java:31) 2007-08-09 10:03:03,156 ERROR [STDERR] at com.icesoft.faces.webapp.http.core.SingleViewServer.service(SingleViewServer.java:46) . . .

    ICEsoft JIRA Issue Tracker | 10 years ago | Greg Dick
    java.lang.RuntimeException: java.lang.IllegalAccessException: Class org.jboss.seam.contexts.FacesLifecycle can not access a member of class com.icesoft.faces.webapp.http.servlet.ServletExternalContext$1 with modifiers "public"

    Root Cause Analysis

    1. java.lang.RuntimeException

      java.lang.IllegalAccessException: Class org.jboss.seam.contexts.FacesLifecycle can not access a member of class com.icesoft.faces.webapp.http.servlet.ServletExternalContext$1 with modifiers "public"

      at org.jboss.seam.contexts.FacesLifecycle.invalidateSession()
    2. org.jboss.seam
      SeamPhaseListener.afterPhase
      1. org.jboss.seam.contexts.FacesLifecycle.invalidateSession(FacesLifecycle.java:170)
      2. org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:121)
      3. org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:497)
      4. org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:230)
      5. org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:184)
      5 frames
    3. JSF
      LifecycleImpl.render
      1. com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
      2. com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
      2 frames
    4. com.icesoft.faces
      ServletRequestResponse.respondWith
      1. com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:26)
      2. com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:126)
      2 frames