Quartz + erro no tomcat

4 respostas
fredabcdef

Ola pessoal,

Estou usando o quartz pela primeira vez, e está acontecendo algo estranho, quando eu inicio o tomcat ,
aparece o seguinte log:

SEVERE: Error configuring application listener of class br.com.virtualtechnology.quartz.JobFTP
java.lang.ClassNotFoundException: br.com.virtualtechnology.quartz.JobFTP
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3773)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
28/01/2009 10:47:26 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)

mas no fim das contas o tomcat starta, e o quartz funciona normalmente, dentro do intervalo previsto.

mas o que acontece , é q o tomcat identifica só essa aplicação q esta com o quartz … o outro projeto q esta no mesmo tomcat, nao é identificado e quanto tento rodar ele , da http 404 …

Bom … eu usei o quartz da seguinte maneira:

Configurei no web.xml do tomcat a tag :

<listener>   
		<listener-class>br.com.virtualtechnology.quartz.JobFTP</listener-class>    
	</listener>

a classe JobFTP cuida da parte de criar a trigger e chamar o scheduleJob.

Alguem tem alguma ideia do pq do tomcat estar lançando aquele erro ? e se o jeito q eu fiz estiver errado , por favor me avisem.
Obrigado.

4 Respostas

rollei

Cara o erro é que ele não está encontrando esse classe listener. Você tem certeza de que mapeou o nome certo no XML? Você fez essa classe implementar o ServletContextListener ???

Pode ser só confusão com o nome que você colocou na classe, mas porque o seu job é um ServletContextListener?
Eu pelo menos aqui fiz um listener a parte, e tenho os meus jobs que são somente as açoes a serem executadas. Tipo eu tenho uma classe agendadorAlgumaCoisa que inicia junto com o contexto e agenda todos os Jobs que têm que ser agendados

fredabcdef

rollei …
eu conferi aqui e o nome ta mapeado certo …

quanto a classe, eu estou usando um exemplo que achei na net e estou adaptando ele … pois meu chefe quer esse trem pra ontem …
ae nem ta dando tempo de ler com detalhes sobre o quartz…

mas ela implementa ServletContextListener sim … tem como fazer sem isso ?

rollei

fredabcdef:
rollei …
eu conferi aqui e o nome ta mapeado certo …

quanto a classe, eu estou usando um exemplo que achei na net e estou adaptando ele … pois meu chefe quer esse trem pra ontem …
ae nem ta dando tempo de ler com detalhes sobre o quartz…

mas ela implementa ServletContextListener sim … tem como fazer sem isso ?

Esse servlet contextListener é só para iniciar o agendador quando a aplicação subir no servidor de aplicação, você pode fazer sem isso sim. Sei lá pode criar um botão na tua aplicação para iniciar o agendador, se você quiser você pode fazer uma tela de gerenciamento do agendadores com botões para parar e iniciar, alguma coisa do tipo.

fredabcdef

obrigado pela explicacao sobre o ServletContextListener.
Consegui fazer rodar aqui … foi vacilo meu … tava mapeando o listener no web.xml q tem dentro do tomcat.
ae eu mapiei no web.xml q tem dentro da web-inf e funcionou .

Obrigado pela ajuda.

Criado 28 de janeiro de 2009
Ultima resposta 28 de jan. de 2009
Respostas 4
Participantes 2