Vraptor-Tasks não funciona

2 respostas
java
W

Olá, estou usando VRaptor 4 no meu sistema e criei um projeto web a parte só para executar umas jobs.
Decidi usar o vraptor-tasks https://github.com/wpivotto/vraptor-tasks, mas nunca a job é executada.

@ApplicationScoped
@Scheduled(fixedRate = 1000)
public class RomoveUsersWithoutAccountJob implements Task
{

	public void execute()
	{
		System.out.println("huehuehuheue brbrbr");
    }
}

O único erro que aparece no log é esse, ao iniciar o tomcat:

org.jboss.weld.context.ContextNotActiveException: WELD-001303: No active contexts for scope type javax.enterprise.context.RequestScoped
	at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:680)
	at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:79)
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:78)
	at br.com.caelum.vraptor.tasks.helpers.TriggerBuilder$Proxy$_$$_WeldClientProxy.triggerFor(Unknown Source)
	at br.com.caelum.vraptor.tasks.TaskHandler.whenApplicationStarts(TaskHandler.java:25)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
	at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
	at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
	at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:94)
	at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4775)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5452)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)

Apenas esse erro aparece, mais nada e a job nunca é executada.

Outra dúvida é se eu poderia injetar uma dao ai nessa job.

Alguém poderia me ajudar??

2 Respostas

L

Tô com o mesmo problema. Conseguiu resolver?

W

Cara, desculpa a demora pra responder, eu n tinha visto que vc tinha perguntado, mas na época desisti de usar essa api e fiz a minha própria utilizando quartz e applicationScopped para iniciar EntityManagerFactory assim que o servidor for iniciado, ae jogo o factory numa variavel static nesse applicationScopped e as jobs rodando com quartz criam entityManager por lá. Não sei se é a melhor solução, mas está funcionando mto bem até hoje.

Criado 7 de julho de 2016
Ultima resposta 26 de jun. de 2017
Respostas 2
Participantes 2