You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/08/21 19:45:44 UTC

svn commit: r1375685 - /openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java

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) {