segunda-feira, 3 de setembro de 2012

java.io.IOException: Acesso negado (Quartz)

Ao executar uma trigger agendada no Quartz, onde um arquivo TXT é criado e salvo na rede, ocorre o seguinte erro:


Informações: Illegal access: this web application instance has been stopped already.  Could not load org.quartz.core.JobRunShell.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1597)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
at org.quartz.impl.StdJobRunShellFactory.borrowJobRunShell(StdJobRunShellFactory.java:91)
at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:332)

Exception in thread "DefaultQuartzScheduler_QuartzSchedulerThread" java.lang.NoClassDefFoundError: org/quartz/core/JobRunShell
at org.quartz.impl.StdJobRunShellFactory.borrowJobRunShell(StdJobRunShellFactory.java:91)
at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:332)
Caused by: java.lang.ClassNotFoundException: org.quartz.core.JobRunShell
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
... 2 more
java.io.IOException: Acesso negado
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(Unknown Source)
at br.com.lpc.lpcsys.integracao.IntegracaoJbsCouro.GerarTxt(IntegracaoJbsCouro.java:46)
at br.com.lpc.lpcsys.quartz.JobIntegraBysoft.execute(JobIntegraBysoft.java:48)
at org.quartz.core.JobRunShell.run(JobRunShell.java:191)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:516)

Solucação:

Acesse a ferramenta (Configure TomCat) "C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\Tomcat7w.exe //ES//Tomcat7". Abra a guia (Log On) e informe uma conta com permissões suficientes no diretório onde o TXT será criado.

Ou no serviço: Painel de Controle > Ferramentas Administrativas > Serviços > Apache Tomcat.

Um comentário: