You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2011/05/25 17:28:35 UTC

svn commit: r1127553 - /openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java

Author: andygumbrecht
Date: Wed May 25 15:28:35 2011
New Revision: 1127553

URL: http://svn.apache.org/viewvc?rev=1127553&view=rev
Log:
Check for shutdown

Modified:
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java?rev=1127553&r1=1127552&r2=1127553&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java Wed May 25 15:28:35 2011
@@ -100,7 +100,11 @@ public abstract class TimerData {
     public void stop() {
         if (trigger != null) {
             try {
-                timerService.getScheduler().unscheduleJob(trigger.getName(), trigger.getGroup());
+                final Scheduler s = timerService.getScheduler();
+                
+                if(!s.isShutdown()){                
+                    s.unscheduleJob(trigger.getName(), trigger.getGroup());
+                }
             } catch (SchedulerException e) {
                 throw new EJBException("fail to cancel the timer", e);
             }
@@ -150,7 +154,11 @@ public abstract class TimerData {
         timerService.cancelled(TimerData.this);
         if (trigger != null) {
             try {
-                timerService.getScheduler().unscheduleJob(trigger.getName(), trigger.getGroup());
+                final Scheduler s = timerService.getScheduler();
+                
+                if(!s.isShutdown()){
+                    s.unscheduleJob(trigger.getName(), trigger.getGroup());
+                }
             } catch (SchedulerException e) {
                 throw new EJBException("fail to cancel the timer", e);
             }
@@ -204,9 +212,11 @@ public abstract class TimerData {
     }
 
     private class TimerDataSynchronization implements Synchronization {
+        @Override
         public void beforeCompletion() {
         }
 
+        @Override
         public void afterCompletion(int status) {
             synchronizationRegistered = false;
             transactionComplete(status == Status.STATUS_COMMITTED);