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