Author: rmannibucau
Date: Mon Nov 25 13:29:30 2013
New Revision: 1545267

URL: http://svn.apache.org/r1545267
Log:
TOMEE-1089 set driverDelegateInitString only for JobStoreSupport children

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=1545267&r1=1545266&r2=1545267&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
 Mon Nov 25 13:29:30 2013
@@ -39,6 +39,7 @@ import org.quartz.SchedulerException;
 import org.quartz.Trigger;
 import org.quartz.TriggerKey;
 import org.quartz.impl.StdSchedulerFactory;
+import org.quartz.impl.jdbcjobstore.JobStoreSupport;
 import org.quartz.impl.jdbcjobstore.StdJDBCDelegate;
 import org.quartz.impl.triggers.AbstractTrigger;
 import org.quartz.listeners.SchedulerListenerSupport;
@@ -253,8 +254,15 @@ public class EjbTimerServiceImpl impleme
 
             // adding our custom persister
             if (properties.containsKey("org.quartz.jobStore.class") && 
!properties.containsKey("org.quartz.jobStore.driverDelegateInitString")) {
-                properties.put("org.quartz.jobStore.driverDelegateInitString",
-                               "triggerPersistenceDelegateClasses=" + 
EJBCronTriggerPersistenceDelegate.class.getName());
+                try {
+                    final Class<?> clazz = 
EjbTimerServiceImpl.class.getClassLoader().loadClass(properties.getProperty("org.quartz.jobStore.class"));
+                    if (JobStoreSupport.class.isAssignableFrom(clazz)) {
+                        
properties.put("org.quartz.jobStore.driverDelegateInitString",
+                            "triggerPersistenceDelegateClasses=" + 
EJBCronTriggerPersistenceDelegate.class.getName());
+                    }
+                } catch (final Throwable th) {
+                    // no-op
+                }
             }
         }
 


Reply via email to