java.lang.RuntimeException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • 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) . . .
    via by Greg Dick,
  • 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) . . .
    via by 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" at org.jboss.seam.contexts.FacesLifecycle.invalidateSession(FacesLifecycle.java:170) at org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:121) at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:497) at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:230) at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:184) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) at com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:26) at com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:126)
    No Bugmate found.