Author: rmannibucau
Date: Wed Sep 25 16:43:41 2013
New Revision: 1526225

URL: http://svn.apache.org/r1526225
Log:
TOMEE-1048 supporting redeployment of timers

Modified:
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java?rev=1526225&r1=1526224&r2=1526225&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
 Wed Sep 25 16:43:41 2013
@@ -500,7 +500,12 @@ public class EjbTimerServiceImpl impleme
         triggerDataMap.put(EjbTimeoutJob.TIMER_DATA, timerData);
 
         try {
-            if (!scheduler.checkExists(new TriggerKey(atrigger.getName(), 
atrigger.getGroup()))) {
+            final TriggerKey triggerKey = new TriggerKey(atrigger.getName(), 
atrigger.getGroup());
+            if (!scheduler.checkExists(triggerKey)) {
+                scheduler.scheduleJob(trigger);
+            } else if 
(Trigger.TriggerState.PAUSED.equals(scheduler.getTriggerState(triggerKey))) { 
// redeployment
+                // more consistent in the semantic than a resume but resume 
would maybe be more relevant here
+                scheduler.unscheduleJob(triggerKey);
                 scheduler.scheduleJob(trigger);
             }
         } catch (Exception e) {


Reply via email to