-
Task
-
Resolution: Unresolved
-
Major
-
6.0.0.M2
-
None
-
None
-
Documentation (Ref Guide, User Guide, etc.)
-
Low
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.