Author: rmannibucau
Date: Tue Aug 21 17:45:44 2012
New Revision: 1375685
URL: http://svn.apache.org/viewvc?rev=1375685&view=rev
Log:
better management of scheduler comparison for shutdown logic
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java?rev=1375685&r1=1375684&r2=1375685&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
Tue Aug 21 17:45:44 2012
@@ -207,8 +207,16 @@ public class EjbTimerServiceImpl impleme
}
public void shutdownMe() {
+ boolean defaultScheduler = false;
+ final Scheduler ds =
SystemInstance.get().getComponent(Scheduler.class);
+ try { // == is the faster way to test, we rely on name (key in quartz
registry) only for serialization
+ defaultScheduler = ds == scheduler ||
scheduler.getSchedulerName().equals(ds.getSchedulerName());
+ } catch (Exception e) {
+ // no-op: default should be fine
+ }
+
// if specific instance
- if (scheduler != null && scheduler !=
SystemInstance.get().getComponent(Scheduler.class)) {
+ if (scheduler != null && !defaultScheduler) {
try {
scheduler.shutdown();
} catch (SchedulerException e) {