You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/11/08 23:19:32 UTC

svn commit: r1407294 - /openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java

Author: rmannibucau
Date: Thu Nov  8 22:19:31 2012
New Revision: 1407294

URL: http://svn.apache.org/viewvc?rev=1407294&view=rev
Log:
delaying a bit the scheduler creation in ejbtimerserviceimpl to avoid to start before the ejb is deployed

Modified:
    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/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=1407294&r1=1407293&r2=1407294&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 Thu Nov  8 22:19:31 2012
@@ -79,20 +79,19 @@ public class EjbTimerServiceImpl impleme
     private transient TransactionManager transactionManager;
     private transient BeanContext deployment;
     private transient TimerStore timerStore;
-    private transient Scheduler scheduler;
+    private transient Scheduler scheduler = null;
 
     public EjbTimerServiceImpl(BeanContext deployment) {
-        this(deployment, getDefaultTransactionManager(), getDefaultScheduler(deployment), new MemoryTimerStore(getDefaultTransactionManager()), -1);
+        this(deployment, getDefaultTransactionManager(), new MemoryTimerStore(getDefaultTransactionManager()), -1);
     }
 
     public static TransactionManager getDefaultTransactionManager() {
         return SystemInstance.get().getComponent(TransactionManager.class);
     }
 
-    public EjbTimerServiceImpl(BeanContext deployment, TransactionManager transactionManager, Scheduler scheduler, TimerStore timerStore, int retryAttempts) {
+    public EjbTimerServiceImpl(BeanContext deployment, TransactionManager transactionManager, TimerStore timerStore, int retryAttempts) {
         this.deployment = deployment;
         this.transactionManager = transactionManager;
-        this.scheduler = scheduler;
         this.timerStore = timerStore;
         TransactionType transactionType = deployment.getTransactionType(deployment.getEjbTimeout());
         this.transacted = transactionType == TransactionType.Required || transactionType == TransactionType.RequiresNew;
@@ -297,6 +296,8 @@ public class EjbTimerServiceImpl impleme
 
     @Override
     public void start() throws TimerStoreException {
+        scheduler = getDefaultScheduler(deployment);
+
         // load saved timers
         Collection<TimerData> timerDatas = timerStore.loadTimers(this, (String) deployment.getDeploymentID());
         // schedule the saved timers