Plugin vraptor-task

Olá,

Preciso executar uma tarefa agendada na minha aplicação do Vraptor. Vi que o projeto vraptor-task é recomendado pra isso. Mas não estou conseguindo fazer ele funcionar. Primeiro eu só adicionei o JAR dele e deu ClassNotFoundException de uma classe do Quartz. Então eu baixei e adicionei os 2 JARs da biblioteca Quartz e agora está dando o seguinte erro:

[code]SEVERE: Exception starting filter vraptor
com.google.inject.CreationException: Guice creation errors:

  1. Error in custom provider, java.lang.NullPointerException
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)
    while locating br.com.metamorfosevirtual.components.Emailer
    for parameter 0 at br.com.metamorfosevirtual.components.LembreteConsulta.(LembreteConsulta.java:23)
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)
    while locating br.com.metamorfosevirtual.components.LembreteConsulta
    Caused by: java.lang.NullPointerException
    at br.com.caelum.vraptor.ioc.guice.AbstractScope$ScopedProvider.getName(AbstractScope.java:87)
    at br.com.caelum.vraptor.ioc.guice.AbstractScope$ScopedProvider.get(AbstractScope.java:67)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.Scopes$1$1.get(Scopes.java:65)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:204)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
    at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:179)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
    at com.google.inject.Guice.createInjector(Guice.java:95)
    at com.google.inject.Guice.createInjector(Guice.java:83)
    at br.com.caelum.vraptor.ioc.guice.GuiceProvider.start(GuiceProvider.java:97)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:119)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:113)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
    at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:103)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306)
    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$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

  2. Error in custom provider, java.lang.NullPointerException
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)
    while locating br.com.metamorfosevirtual.daos.ConsultaDao
    for parameter 1 at br.com.metamorfosevirtual.components.LembreteConsulta.(LembreteConsulta.java:23)
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)
    while locating br.com.metamorfosevirtual.components.LembreteConsulta
    Caused by: java.lang.NullPointerException
    at br.com.caelum.vraptor.ioc.guice.AbstractScope$ScopedProvider.getName(AbstractScope.java:87)
    at br.com.caelum.vraptor.ioc.guice.AbstractScope$ScopedProvider.get(AbstractScope.java:67)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.Scopes$1$1.get(Scopes.java:65)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:204)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
    at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:179)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
    at com.google.inject.Guice.createInjector(Guice.java:95)
    at com.google.inject.Guice.createInjector(Guice.java:83)
    at br.com.caelum.vraptor.ioc.guice.GuiceProvider.start(GuiceProvider.java:97)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:119)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:113)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
    at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:103)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306)
    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$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

  3. Error in custom provider, java.lang.NullPointerException
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)
    while locating br.com.metamorfosevirtual.components.Emailer
    for parameter 0 at br.com.metamorfosevirtual.components.LembreteConsulta.(LembreteConsulta.java:23)
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)
    while locating br.com.metamorfosevirtual.components.LembreteConsulta
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.registerListType(GuiceComponentRegistry.java:182)
    while locating java.util.List<br.com.caelum.vraptor.tasks.Task>
    for parameter 2 at br.com.caelum.vraptor.tasks.TaskHandler.(TaskHandler.java:21)
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)
    while locating br.com.caelum.vraptor.tasks.TaskHandler
    Caused by: java.lang.NullPointerException
    at br.com.caelum.vraptor.ioc.guice.AbstractScope$ScopedProvider.getName(AbstractScope.java:87)
    at br.com.caelum.vraptor.ioc.guice.AbstractScope$ScopedProvider.get(AbstractScope.java:67)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.Scopes$1$1.get(Scopes.java:65)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
    at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
    at br.com.caelum.vraptor.ioc.guice.AllImplementationsProvider.get(AllImplementationsProvider.java:26)
    at br.com.caelum.vraptor.ioc.guice.AllImplementationsProvider.get(AllImplementationsProvider.java:13)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.Scopes$1$1.get(Scopes.java:65)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:204)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
    at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:179)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
    at com.google.inject.Guice.createInjector(Guice.java:95)
    at com.google.inject.Guice.createInjector(Guice.java:83)
    at br.com.caelum.vraptor.ioc.guice.GuiceProvider.start(GuiceProvider.java:97)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:119)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:113)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
    at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:103)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306)
    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$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

  4. Error in custom provider, java.lang.NullPointerException
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)
    while locating br.com.metamorfosevirtual.daos.ConsultaDao
    for parameter 1 at br.com.metamorfosevirtual.components.LembreteConsulta.(LembreteConsulta.java:23)
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)
    while locating br.com.metamorfosevirtual.components.LembreteConsulta
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.registerListType(GuiceComponentRegistry.java:182)
    while locating java.util.List<br.com.caelum.vraptor.tasks.Task>
    for parameter 2 at br.com.caelum.vraptor.tasks.TaskHandler.(TaskHandler.java:21)
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)
    while locating br.com.caelum.vraptor.tasks.TaskHandler
    Caused by: java.lang.NullPointerException
    at br.com.caelum.vraptor.ioc.guice.AbstractScope$ScopedProvider.getName(AbstractScope.java:87)
    at br.com.caelum.vraptor.ioc.guice.AbstractScope$ScopedProvider.get(AbstractScope.java:67)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.Scopes$1$1.get(Scopes.java:65)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
    at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
    at br.com.caelum.vraptor.ioc.guice.AllImplementationsProvider.get(AllImplementationsProvider.java:26)
    at br.com.caelum.vraptor.ioc.guice.AllImplementationsProvider.get(AllImplementationsProvider.java:13)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.Scopes$1$1.get(Scopes.java:65)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:204)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
    at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:179)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
    at com.google.inject.Guice.createInjector(Guice.java:95)
    at com.google.inject.Guice.createInjector(Guice.java:83)
    at br.com.caelum.vraptor.ioc.guice.GuiceProvider.start(GuiceProvider.java:97)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:119)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:113)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
    at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:103)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306)
    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$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

4 errors
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:435)
at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:183)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
at com.google.inject.Guice.createInjector(Guice.java:95)
at com.google.inject.Guice.createInjector(Guice.java:83)
at br.com.caelum.vraptor.ioc.guice.GuiceProvider.start(GuiceProvider.java:97)
at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:119)
at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:113)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:103)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306)
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$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)[/code]
O que pode ser?

Como vc tá declarando a br.com.metamorfosevirtual.components.LembreteConsulta?

tentou colocar ela como @ApplicationScoped?

Sim, está assim:

[code]@ApplicationScoped
@Scheduled(cron = “* * * 7 * ?”)
public class LembreteConsulta implements Task {

// Variáveis

public LembreteConsulta(Emailer emailer, ConsultaDao consultaDao) {
	// Construtor
}

public void execute() {
	// Tarefa a ser executada
}

}[/code]

tenta tirar o consultaDao daí

Tirei tudo da classe, só pra testar:

@ApplicationScoped @Scheduled(fixedRate = 5000) public class LembreteConsulta implements Task { public void execute() { System.out.println("teste"); } }
Continua sem funcionar, mas agora tá dando a seguinte exception:

Exception in thread "Thread-2" java.lang.AbstractMethodError: br.com.caelum.vraptor.tasks.TasksMonitor.schedulerStarting()V at org.quartz.core.QuartzScheduler.notifySchedulerListenersStarting(QuartzScheduler.java:2232) at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:563) at org.quartz.core.QuartzScheduler$1.run(QuartzScheduler.java:592) at java.lang.Thread.run(Unknown Source)

A documentação do vraptor-tasks não pediu pra vc criar alguma classe que vc não criou?

parece faltar uma classe.

vc baixou o plugin pelo maven?

Eu instalei o plugin manualmente. Além do jar do próprio vraptor-tasks, coloquei 2 jars do quartz (quartz e quartz-jobs).

Sobre a implementação, eu não sei muito bem porque é a primeira vez que uso o plugin. Mas pelo que eu entendi na documentação, se eu quiser apenas agendar tarefas seria só isso mesmo: https://github.com/wpivotto/vraptor-tasks

vc usou as versões certas de cada uma dessas bibliotecas? elas podem ser encontradas aqui:

Hmm, era isso mesmo.
De qualquer forma, ainda tem um problema: o Vraptor não consegue injetar nenhuma das 2 dependências…

se as dependências forem do escopo padrão (request), elas não podem ser injetadas num componente que é application scoped.

Isso pq não existe uma request na hora em que vc está executando a task, por isso o erro.

Dá uma olhada nessa seção da documentação:

isso vai resolver o seu problema.

Num funcionou não. Quando eu faço uma requisição não acontece nada…

tentou habilitar o log de debug do VRaptor e do plugin, pra ver se aparece alguma informação sobre?

Criou o controller do jeito que a documentação pede, ou seja, converteu o seu componente em um @Resource?

a requisição que vc fez pra ele executou o código?

Não tinha tentado não. Agora habilitei e vi que ele diz que a tarefa foi agendada com sucesso:

13:06:24,247 DEBUG [TaskLogger ] Task PagesController.execute was successfully scheduled. Trigger Expression Fixed Rate: 5000 13:06:24,247 DEBUG [TaskLogger ] Task PagesController.execute was successfully scheduled. Trigger Expression Fixed Rate: 5000
O estranho é que ele imprime isso 2 vezes…

Criei como manda a documentação. Mas lá não fala exatamente pra eu converter meu componente pra um @Resource. Diz pra usar os 2 juntos. Então ficou assim:

Controller

[code]@Resource
public class PagesController {

...

@Post
@Scheduled(fixedRate = 5000)
public void execute() {
	lembreteConsulta.execute();
}

}[/code]
Component

[code]@RequestScoped
public class LembreteConsulta {

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

}[/code]
Sendo que no controller eu estou injetando “LembreteConsulta”.

Eu coloquei um breakpoint no método “execute” e não cai lá não. Além disso não imprime a palavra “teste”.

esse 5000 é em milisegundos?

vc chegou a fazer o POST pra essa url?

será que não tem que ser GET?

Pelo menos no outro exemplo, quando consegui fazer funcionar, era em milisegundos. De qualquer forma, reduzi ele pra 5 e continua a mesma coisa.

Agora fiz, usando o curl. Mas também não funcionou. Cai no método certinho, mas não agenda nada.

Tentei Get também e deu na mesma.

Abre uma issue lá no github do plugin e vê se o wpivotto responde… se tá assim na documentação, deveria funcionar =/

Issue criada: https://github.com/wpivotto/vraptor-tasks/issues/11

Problema resolvido. Estavam faltando algumas libs que o projeto usa. O estranho é que, mesmo sem as libs, não estava dando ClassNotFoundException ou algo do gênero.