1 Reply Latest reply on May 28, 2010 7:21 AM by godoy

    Problems with @Resource

    godoy

      Guys I'm having problems trying to use this feature injection:
      I am implementing a javax.ejb.Timer for the execution of some tasks.

       

      @ Resource
      private SessionContext ctx;

       

      When I deploy to always bring a NullPointerException, I'm using JBoss 4.2
      and ejb 3.
      to see StackTrace

       

       

       

      13:43:42,921 INFO  [STDOUT] Starting timer
      13:43:52,819 ERROR [[/sosWeb]] Exception sending context initialized event to listener instance of class br.com.sanepar.sos.listener.LoadTimerListener
      javax.ejb.EJBException: java.lang.NullPointerException
      at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:63)
      at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
      at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
      at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:27
      at org.jboss.ejb3.remoting.IsLocalInterceptor.invokeLocal(IsLocalInterceptor.java:79)
      at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:70)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:103)
      at $Proxy101.startTimer(Unknown Source)

       

      24 is this line where it calls the method to start the timer and ctx is always zero, and it seems that he never injected

       

          public void startTimer() { 

            ctx.getTimerService().createTimer(1000, 1000, null); 

            System.out.println("Timers iniciad");  

          }

       

      Anyone know how can I fix this?
      Thank you.

        • 1. Re: Problems with @Resource
          godoy

          This problem is solved see:

           

          @Resource(name = "contextSession", type = SessionContext.class, authenticationType = AuthenticationType.APPLICATION)