Uploaded image for project: 'OpenEJB'
  1. OpenEJB
  2. OPENEJB-1263

IllegalAccessException with TomcatThreadContextListener

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.1.2
    • 4.7.0
    • tomee
    • None
    • Apache Tomcat: 6.0.26
      Java version: 1.6.0_18
      OS name: "linux" version: "2.6.31-20-generic" arch: "i386" Family: "unix"

    Description

      I checked out the 3.1.2 TAG, applied the following patches:

      I deployed the openejb.war to Tomcat 6.0.26 and when I
      deploy (and access the "openejb jsf demo" (see [1])), I see
      the following in the openejb.log:

      2010-04-24 16:02:34,572 - ERROR - Exception in method getThreadName
      java.lang.IllegalAccessException: Class
      org.apache.openejb.tomcat.catalina.TomcatThreadContextListener can not
      access a member of class org.apache.naming.ContextBindings with
      modifiers "static"
      at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
      at java.lang.reflect.Method.invoke(Method.java:588)
      at org.apache.openejb.tomcat.catalina.TomcatThreadContextListener.getThreadName(TomcatThreadContextListener.java:109)
      at org.apache.openejb.tomcat.catalina.TomcatThreadContextListener.contextEntered(TomcatThreadContextListener.java:70)
      at org.apache.openejb.core.ThreadContext.enter(ThreadContext.java:53)
      at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:148)
      at org.apache.openejb.core.ivm.EjbHomeProxyHandler.create(EjbHomeProxyHandler.java:276)
      at org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProxyHandler.java:161)
      at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:281)
      at $Proxy34.create(Unknown Source)
      at org.apache.openejb.core.ivm.naming.BusinessRemoteReference.getObject(BusinessRemoteReference.java:33)
      at org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:171)
      at org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:121)
      at org.apache.openejb.tomcat.common.AbstractObjectFactory.lookup(AbstractObjectFactory.java:60)
      at org.apache.openejb.tomcat.common.AbstractObjectFactory.getObjectInstance(AbstractObjectFactory.java:47)
      at org.apache.openejb.tomcat.common.EjbFactory.getObjectInstance(EjbFactory.java:50)
      at org.apache.naming.factory.EjbFactory.getObjectInstance(EjbFactory.java:161)
      at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
      at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
      at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
      at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
      at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
      at org.apache.catalina.util.DefaultAnnotationProcessor.lookupFieldResource(DefaultAnnotationProcessor.java:278)
      at org.apache.catalina.util.DefaultAnnotationProcessor.processAnnotations(DefaultAnnotationProcessor.java:192)
      at org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider.newInstance(TomcatAnnotationLifecycleProvider.java:46)
      at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:81)
      at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.createManagedBean(ManagedBeanResolver.java:196)
      at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:162)
      at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
      at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.access$301(FacesCompositeELResolver.java:46)
      at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver$4.invoke(FacesCompositeELResolver.java:108)
      at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.invoke(FacesCompositeELResolver.java:148)
      at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:104)
      at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:61)
      at org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:93)
      at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
      at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.access$301(FacesCompositeELResolver.java:46)
      at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver$4.invoke(FacesCompositeELResolver.java:108)
      at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.invoke(FacesCompositeELResolver.java:148)
      at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:104)
      at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:68)
      at org.apache.el.parser.AstValue.getTarget(AstValue.java:68)
      at org.apache.el.parser.AstValue.invoke(AstValue.java:187)
      at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
      at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
      at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:75)
      at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:54)
      at javax.faces.component.UICommand.broadcast(UICommand.java:121)
      at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:292)
      at javax.faces.component.UIViewRoot.process(UIViewRoot.java:209)
      at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:117)
      at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
      at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
      at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:148)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.openejb.tomcat.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
      at java.lang.Thread.run(Thread.java:619)
      2010-04-24 16:02:34,583 - ERROR - Exception in method getThreadName
      java.lang.IllegalAccessException: Class
      org.apache.openejb.tomcat.catalina.TomcatThreadContextListener can not
      access a member of class org.apache.naming.ContextBindings with
      modifiers "static"
      at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
      at java.lang.reflect.Method.invoke(Method.java:588)
      at org.apache.openejb.tomcat.catalina.TomcatThreadContextListener.getThreadName(TomcatThreadContextListener.java:109)
      at org.apache.openejb.tomcat.catalina.TomcatThreadContextListener.contextEntered(TomcatThreadContextListener.java:70)
      at org.apache.openejb.core.ThreadContext.enter(ThreadContext.java:53)
      at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:148)
      at org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:217)
      at org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
      at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:281)
      at $Proxy43.add(Unknown Source)
      at org.superbiz.jsf.CalculatorBean.add(CalculatorBean.java:49)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
      at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
      at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
      at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:75)
      at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:54)
      at javax.faces.component.UICommand.broadcast(UICommand.java:121)
      at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:292)
      at javax.faces.component.UIViewRoot.process(UIViewRoot.java:209)
      at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:117)
      at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
      at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
      at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:148)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.openejb.tomcat.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
      at java.lang.Thread.run(Thread.java:619)

      The Apache Tomcat class that the "TomcatThreadContextListener"
      complains about can be seen here:

      http://j.mp/bDsgtY

      Attachments

        Activity

          People

            jlmonteiro Jean-Louis Monteiro
            matzew Matthias Wessendorf
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: