Ejb problemas com @Resource[RESOLVIDO]

2 respostas
L

Galera estou tendo problemas ao tentar utilizar esta injeção de recurso:
Estou implementando um javax.ejb.Timer para a execucao de algumas tarefas.

@Resource
private SessionContext ctx;

qdo faco o deploy sempre levo um nullPointerException ,estou usando Jboss 4.2

e ejb 3.

vejam a 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:278)

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)
at br.com.lgweb.sos.listener.LoadTimerListener.contextInitialized(LoadTimerListener.java:24)

nesta linha 24 é onde ele chama o metodo para iniciar o Timer e o ctx esta sempre nulo,naum esta injetando este camarada .

public void startTimer() {
	  ctx.getTimerService().createTimer(1000, 1000, null);
	  System.out.println("Timers iniciad");

	}

Alguem sabe como posso resolver isso?
Obrigado.

2 Respostas

fbarreto

aki tem um exemplo bacana de Timer :

Espero que ajude,Bjos.

L

Obrigado FER foi de grande ajuda este link.

Consegui resolver assim:
@Resource(name = “contextSession”, type = SessionContext.class, authenticationType = AuthenticationType.APPLICATION)

Bjos.

Criado 26 de maio de 2010
Ultima resposta 28 de mai. de 2010
Respostas 2
Participantes 2