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 2013/11/25 14:29:31 UTC

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

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
+                }
             }
         }