Author: rmannibucau
Date: Sun Aug 12 22:54:57 2012
New Revision: 1372207

URL: http://svn.apache.org/viewvc?rev=1372207&view=rev
Log:
reverting to start timer before ejb to get it in postconstruct if necessary

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java
    
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/singleton/SingletonContainer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java?rev=1372207&r1=1372206&r2=1372207&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java
 Sun Aug 12 22:54:57 2012
@@ -110,16 +110,16 @@ public class SingletonContainer implemen
             deploymentRegistry.put(id, beanContext);
             beanContext.setContainer(this);
         }
+
+        EjbTimerService timerService = beanContext.getEjbTimerService();
+        if (timerService != null) {
+            timerService.start();
+        }
     }
 
     @Override
     public void start(BeanContext info) throws OpenEJBException {
         instanceManager.start(info);
-
-        EjbTimerService timerService = info.getEjbTimerService();
-        if (timerService != null) {
-            timerService.start();
-        }
     }
 
     @Override

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java?rev=1372207&r1=1372206&r2=1372207&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java
 Sun Aug 12 22:54:57 2012
@@ -106,10 +106,7 @@ public class StatelessContainer implemen
         instanceManager.deploy(beanContext);
 
         // do it after the instance deployment
-        EjbTimerService timerService = beanContext.getEjbTimerService();
-        if (timerService != null) {
-            timerService.start();
-        }
+
     }
     
     public void stop(BeanContext beanContext) throws OpenEJBException {

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=1372207&r1=1372206&r2=1372207&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
 Sun Aug 12 22:54:57 2012
@@ -34,6 +34,7 @@ import org.quartz.JobDetail;
 import org.quartz.Scheduler;
 import org.quartz.SchedulerException;
 import org.quartz.Trigger;
+import org.quartz.TriggerKey;
 import org.quartz.impl.StdSchedulerFactory;
 import org.quartz.impl.triggers.AbstractTrigger;
 import org.quartz.simpl.SimpleThreadPool;
@@ -270,8 +271,9 @@ public class EjbTimerServiceImpl impleme
             }
         }
 
+        AbstractTrigger<?> atrigger;
         if (trigger instanceof AbstractTrigger) { // is the case
-            AbstractTrigger<?> atrigger = (AbstractTrigger<?>) trigger;
+            atrigger = (AbstractTrigger<?>) trigger;
             atrigger.setJobName(OPENEJB_TIMEOUT_JOB_NAME);
             atrigger.setJobGroup(OPENEJB_TIMEOUT_JOB_GROUP_NAME);
         } else {
@@ -283,7 +285,9 @@ public class EjbTimerServiceImpl impleme
         triggerDataMap.put(EjbTimeoutJob.TIMER_DATA, timerData);
 
         try {
-            scheduler.scheduleJob(trigger);
+            if (!scheduler.checkExists(new TriggerKey(atrigger.getName(), 
atrigger.getGroup()))) {
+                scheduler.scheduleJob(trigger);
+            }
         } catch (Exception e) {
             //TODO Any other actions we could do ?
             log.warning("Could not schedule timer " + timerData, e);


Reply via email to