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