10 Replies Latest reply: Jun 3, 2010 3:28 AM by Marcus Linke RSS

Quartz RA: Endpoint deactivation immediately stops classloader of (long running) quartz job

Marcus Linke Newbie

I ran into a problem with the quartz resource adapter integration in JBoss. While undeploying/stopping the MDB the QuartzResourceAdapter's 'endpointDeactivation' hook calls the quartz scheduler method 'deleteJob(..)'. This method call is nonblocking and therefore the process of stopping  the MDB is continued. As part of this the classloader of the quartz job is also stopped which may prevent a long running job to successfully complete. One possible workaround may be to use a quartz job listener here to emulate the blocking behavior and wait until a running job completes. Eventually there is a need for a timeout value then, but this could be configured by the MDB itself via ActivationConfigProperties.

 

Any comments?