EJB 3.0
  1. EJB 3.0
  2. EJBTHREE-2126

SessionContext.getBusinessObject() on no-interface bean fails

    Details

    • Type: Bug Bug
    • Status: Resolved Resolved (View Workflow)
    • Priority: Critical Critical
    • Resolution: Done
    • Affects Version/s: EJB3_1 1.0.7, depchain-1.0.0-alpha-4
    • Fix Version/s: depchain-1.0.0-alpha-43
    • Component/s: core
    • Labels:
      None
    • Similar Issues:
      Show 10 results 

      Description

      It is not possible to get a refrence to the instance of a "no-interface" bean with the SessionContext.getBusinessObject(Class<T>) call as is possible for "local" and "remote" interfaces. It results in a exeption: "java.lang.IllegalStateException: Cannot find BusinessObject for interface: ...". This happens with both stateless and stateful beans.

      Example bean:

      @Stateless
      public class TestBean {

      @Resource
      protected SessionContext session;

      public TestBean() {
      }

      public void Test() {
      try

      { TestBean testBean = (TestBean) session.getBusinessObject(this.getClass()); }

      catch(Exception e)

      { e.printStackTrace(); }

      }
      }

      Backtrace:
      15:25:09,719 ERROR [STDERR] java.lang.IllegalStateException: Cannot find BusinessObject for interface: com.test.TestBean
      15:25:09,719 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessContainer.getBusinessObject(StatelessContainer.java:556)
      15:25:09,719 ERROR [STDERR] at org.jboss.ejb3.session.SessionContextDelegateBase.getBusinessObject(SessionContextDelegateBase.java:70)
      15:25:09,719 ERROR [STDERR] at com.test.TestBean.Test(TestBean.java:19)
      15:25:09,719 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      15:25:09,719 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      15:25:09,720 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      15:25:09,720 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
      15:25:09,720 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122)
      15:25:09,720 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
      15:25:09,720 ERROR [STDERR] at org.jboss.ejb3.interceptors.container.ContainerMethodInvocationWrapper.invokeNext(ContainerMethodInvocationWrapper.java:72)
      15:25:09,720 ERROR [STDERR] at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:76)
      15:25:09,720 ERROR [STDERR] at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:62)
      15:25:09,720 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      15:25:09,720 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      15:25:09,721 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      15:25:09,721 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
      15:25:09,721 ERROR [STDERR] at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174)
      15:25:09,721 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,721 ERROR [STDERR] at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72)
      15:25:09,721 ERROR [STDERR] at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_2535725.invoke(InvocationContextInterceptor_z_fillMethod_2535725.java)
      15:25:09,721 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,721 ERROR [STDERR] at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88)
      15:25:09,721 ERROR [STDERR] at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_2535725.invoke(InvocationContextInterceptor_z_setup_2535725.java)
      15:25:09,722 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,722 ERROR [STDERR] at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62)
      15:25:09,722 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,722 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56)
      15:25:09,722 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,722 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
      15:25:09,722 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,722 ERROR [STDERR] at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
      15:25:09,722 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,723 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68)
      15:25:09,723 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,723 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
      15:25:09,723 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:194)
      15:25:09,723 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,723 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
      15:25:09,723 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,723 ERROR [STDERR] at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
      15:25:09,724 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,724 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)
      15:25:09,724 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,724 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
      15:25:09,724 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,724 ERROR [STDERR] at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
      15:25:09,724 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,724 ERROR [STDERR] at org.jboss.ejb3.core.context.CurrentInvocationContextInterceptor.invoke(CurrentInvocationContextInterceptor.java:47)
      15:25:09,724 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,725 ERROR [STDERR] at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
      15:25:09,725 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,725 ERROR [STDERR] at org.jboss.ejb3.interceptor.EJB3TCCLInterceptor.invoke(EJB3TCCLInterceptor.java:86)
      15:25:09,725 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      15:25:09,725 ERROR [STDERR] at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:193)
      15:25:09,725 ERROR [STDERR] at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:109)
      15:25:09,725 ERROR [STDERR] at org.jboss.ejb3.nointerface.impl.invocationhandler.NoInterfaceViewInvocationHandler.invoke(NoInterfaceViewInvocationHandler.java:148)
      15:25:09,725 ERROR [STDERR] at org.jboss.ejb3.proxy.javassist.JavassistInvocationHandlerAdapter.invoke(JavassistInvocationHandlerAdapter.java:71)
      15:25:09,725 ERROR [STDERR] at com.test.TestBean_$$javassist_3.Test(TestBean$$_javassist_3.java)
      ...

        Issue Links

          Activity

          Hide
          Carlo de Wolf
          added a comment -

          I'll create a plug-point in core which brings the problem to AS level. Within AS I'll create an implementation that takes care of the lot.

          Show
          Carlo de Wolf
          added a comment - I'll create a plug-point in core which brings the problem to AS level. Within AS I'll create an implementation that takes care of the lot.
          Hide
          Carlo de Wolf
          added a comment -

          ejb3-heks provides an implementation for the plug-point.

          Show
          Carlo de Wolf
          added a comment - ejb3-heks provides an implementation for the plug-point.

            People

            • Assignee:
              Carlo de Wolf
              Reporter:
              Wiebren Braakman
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: