Author: rmannibucau
Date: Mon Aug 20 12:23:19 2012
New Revision: 1374989

URL: http://svn.apache.org/viewvc?rev=1374989&view=rev
Log:
quartz RAMJobStore doesn't support daemon options

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=1374989&r1=1374988&r2=1374989&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
 Mon Aug 20 12:23:19 2012
@@ -37,6 +37,7 @@ import org.quartz.Trigger;
 import org.quartz.TriggerKey;
 import org.quartz.impl.StdSchedulerFactory;
 import org.quartz.impl.triggers.AbstractTrigger;
+import org.quartz.simpl.RAMJobStore;
 import org.quartz.simpl.SimpleThreadPool;
 
 import javax.ejb.EJBContext;
@@ -128,9 +129,6 @@ public class EjbTimerServiceImpl impleme
         properties.put(StdSchedulerFactory.PROP_THREAD_POOL_CLASS, 
systemInstance.hasProperty(QUARTZ_THREAD_POOL_ADAPTER) ? 
systemInstance.getOptions().get(QUARTZ_THREAD_POOL_ADAPTER, 
SimpleThreadPool.class.getName())
                 : defaultThreadPool);
         properties.put(StdSchedulerFactory.PROP_SCHED_INSTANCE_NAME, 
"OpenEJB-TimerService-Scheduler");
-
-        // to ensure we can shutdown correctly
-        properties.put("org.quartz.jobStore.makeThreadsDaemon", "true");
         properties.put("org.quartz.scheduler.makeSchedulerThreadDaemon", 
"true");
 
         updateProperties(properties, null);
@@ -149,6 +147,11 @@ public class EjbTimerServiceImpl impleme
             log.info("Found property 'org.quartz.threadPool.threadCount' for 
default thread pool, please use 'openejb.timer.pool.size' instead");
         }
 
+        // to ensure we can shutdown correctly, default doesn't support such a 
configuration
+        if (!properties.getProperty(StdSchedulerFactory.PROP_JOB_STORE_CLASS, 
RAMJobStore.class.getName()).equals(RAMJobStore.class.getName())) {
+            properties.put("org.quartz.jobStore.makeThreadsDaemon", 
properties.getProperty("org.quartz.jobStore.makeThreadsDaemon", "true"));
+        }
+
         scheduler = systemInstance.getComponent(Scheduler.class);
         Scheduler thisScheduler;
         if (scheduler == null || newInstance) {


Reply via email to