Repository: tomee Updated Branches: refs/heads/develop caa0edbc3 -> 7bdc9e2f0
#TOMEE-1489 - Add scheduler support for kahadb Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/7bdc9e2f Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/7bdc9e2f Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/7bdc9e2f Branch: refs/heads/develop Commit: 7bdc9e2f05694257c83f7abc7f4360ad921018d2 Parents: caa0edb Author: AndyGee <[email protected]> Authored: Thu Jan 8 14:14:10 2015 +0100 Committer: AndyGee <[email protected]> Committed: Thu Jan 8 14:14:19 2015 +0100 ---------------------------------------------------------------------- .../resource/activemq/ActiveMQ5Factory.java | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/7bdc9e2f/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java index 145b18c..fdfe64d 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java @@ -70,12 +70,18 @@ public class ActiveMQ5Factory implements BrokerFactoryHandler { if (null == broker || !broker.isStarted()) { final Properties properties = getLowerCaseProperties(); + boolean scheduleSupport = false; final URISupport.CompositeData compositeData = URISupport.parseComposite(new URI(brokerURI.getRawSchemeSpecificPart())); final Map<String, String> params = new HashMap<String, String>(compositeData.getParameters()); final PersistenceAdapter persistenceAdapter; if ("true".equals(params.remove("usekahadb"))) { persistenceAdapter = createPersistenceAdapter("org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter", "kahadb", params); + + if ("true".equals(params.remove("scheduler"))) { + scheduleSupport = true; + } + } else if ("true".equals(params.remove("useleveldb"))) { persistenceAdapter = createPersistenceAdapter("org.apache.activemq.store.leveldb.LevelDBPersistenceAdapter", "leveldb", params); } else if (params.get("persistenceadapter") != null) { @@ -89,6 +95,8 @@ public class ActiveMQ5Factory implements BrokerFactoryHandler { broker = BrokerFactory.createBroker(uri); brokers.put(brokerURI, broker); + broker.setSchedulerSupport(scheduleSupport); + if (persistenceAdapter != null) { broker.setPersistenceAdapter(persistenceAdapter); // if user didn't set persistent to true then setPersistenceAdapter() alone is ignored so forcing it with the factory @@ -285,23 +293,11 @@ public class ActiveMQ5Factory implements BrokerFactoryHandler { } private void tomeeConfig(final BrokerService broker) { - //New since 5.4.x - disableScheduler(broker); //Notify when an error occurs on shutdown. broker.setUseLoggingForShutdownErrors(Logger.getInstance(LogCategory.OPENEJB_STARTUP, ActiveMQ5Factory.class).isErrorEnabled()); } - private static void disableScheduler(final BrokerService broker) { - try { - final Class<?> clazz = Class.forName("org.apache.activemq.broker.BrokerService"); - final Method method = clazz.getMethod("setSchedulerSupport", new Class[]{Boolean.class}); - method.invoke(broker, Boolean.FALSE); - } catch (final Throwable e) { - //Ignore - } - } - private Properties getLowerCaseProperties() { final Properties newProperties = new Properties(); if (properties != null) {
