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