[
http://jira.codehaus.org/browse/MRM-1066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=179267#action_179267
]
Marcus Dimand commented on MRM-1066:
------------------------------------
Dear Mr. Brett Porter,
Dear Mr. James William Dumay,
As mentioned previously we checked your provided bug fix. Unfortunally it
doesn't solve the bug.
We worked also on a solution and we realized following:
- When the application starts, it's lifecycle starts also some Queues and
Schedulers.
- Those Threads are still running even the application has shutdown,
because the application's lifecycle doesn't stop those threads.
- Hence the shutdown process is not proper performed.
- The execution of a scheduled thread raises an exception as the application
is already stopped.
Unfortunally we didn't find any way to solve this issue in the lifecycle
configuration of the application,
as we are not familiar with plexus and the archiva architecture.
But we were able to implement a workaround in the ArchivaStartup class that
shutdown the mentioned
ressources and closes the application context.
To reproduce the bug it is important to wait till all threads (ThreadPool) are
started, the solution is to set the "Managed Repository" scan cronjob to a
minute interval and then wait till all threads are started.
We have tested this piece of code and it seems to work.
Please be so kind and review the changes and maybe some one of you guys is able
to solve the issue
on right place. We hope that our workaround helps you a little bit to find a
proper solution. You can
find the piece of code attached to the issue.
Best regards,
Marcus Dimand
> Shutdown of Tomcat causes Exception when running Archiva Project
> ----------------------------------------------------------------
>
> Key: MRM-1066
> URL: http://jira.codehaus.org/browse/MRM-1066
> Project: Archiva
> Issue Type: Bug
> Components: web application
> Affects Versions: 1.1.3
> Environment: SUSE LINUX Enterprise Server 9 (i586)(Patchversion: 9.4)
> - Linux version 2.6.5-7.312-bigsmp (32Bit)
> Reporter: Marcus Dimand
> Assignee: James William Dumay
> Priority: Blocker
> Fix For: 1.2.2
>
> Attachments: catalina.out
>
>
> It looks like the Quartz thread is still running because the web-context has
> been unloaded before.
> This could maybe happen because the Quartz threads are not yet under Spring
> control (http://jira.springframework.org/browse/SPR-5065).
> Exception summary :
> INFO: Illegal access: this web application instance has been stopped already.
> Could not load org.quartz.StatefulJob. 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:1273)
> at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
> at java.lang.ClassLoader.loadClassInternal(Unknown Source)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Unknown Source)
> at org.quartz.JobDetail.class$(JobDetail.java:59)
> at org.quartz.JobDetail.isStateful(JobDetail.java:396)
> at org.quartz.simpl.RAMJobStore.triggerFired(RAMJobStore.java:1207)
> at
> org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:307)
> Exception in thread "defaultScheduler_QuartzSchedulerThread"
> java.lang.NoClassDefFoundError: org.quartz.StatefulJob
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira