Author: rmannibucau
Date: Sun Jul 15 16:16:43 2012
New Revision: 1361730
URL: http://svn.apache.org/viewvc?rev=1361730&view=rev
Log:
OPENEJB-1867 expose quartz conf for default timer service
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=1361730&r1=1361729&r2=1361730&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 Jul 15 16:16:43 2012
@@ -44,7 +44,9 @@ import javax.ejb.TimerConfig;
import javax.transaction.Status;
import javax.transaction.SystemException;
import javax.transaction.TransactionManager;
+import java.lang.reflect.Field;
import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
@@ -92,6 +94,19 @@ public class EjbTimerServiceImpl impleme
properties.put(StdSchedulerFactory.PROP_THREAD_POOL_CLASS,
SystemInstance.get().hasProperty(QUARTZ_THREAD_POOL_ADAPTER) ?
SystemInstance.get().getOptions().get(QUARTZ_THREAD_POOL_ADAPTER, "")
: DefaultTimerThreadPoolAdapter.class.getName());
properties.put(StdSchedulerFactory.PROP_SCHED_INSTANCE_NAME,
"OpenEJB-TimerService-Scheduler");
+ for (Field field : StdSchedulerFactory.class.getDeclaredFields()) {
+ int mods = field.getModifiers();
+ if (Modifier.isStatic(mods) && Modifier.isFinal(mods) &&
Modifier.isPublic(mods)
+ && String.class.equals(field.getType())) {
+ try {
+ final String key = (String) field.get(null);
+ final String value =
SystemInstance.get().getOptions().get(key, (String) null);
+ properties.setProperty(key, value);
+ } catch (IllegalAccessException e) {
+ // ignored
+ }
+ }
+ }
try {
scheduler = new StdSchedulerFactory(properties).getScheduler();
scheduler.start();