Author: cschneider
Date: Wed Aug 24 09:22:17 2011
New Revision: 1161026
URL: http://svn.apache.org/viewvc?rev=1161026&view=rev
Log:
CAMEL-4358 Move initialization code to management package
Added:
camel/trunk/camel-core/src/main/java/org/apache/camel/management/ManagementStrategyFactory.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java?rev=1161026&r1=1161025&r2=1161026&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
Wed Aug 24 09:22:17 2011
@@ -69,12 +69,9 @@ import org.apache.camel.component.proper
import org.apache.camel.impl.converter.BaseTypeConverterRegistry;
import org.apache.camel.impl.converter.DefaultTypeConverter;
import org.apache.camel.impl.converter.LazyLoadingTypeConverter;
-import org.apache.camel.management.DefaultManagementAgent;
-import org.apache.camel.management.DefaultManagementLifecycleStrategy;
import org.apache.camel.management.DefaultManagementMBeanAssembler;
-import org.apache.camel.management.DefaultManagementStrategy;
import org.apache.camel.management.JmxSystemPropertyKeys;
-import org.apache.camel.management.ManagedManagementStrategy;
+import org.apache.camel.management.ManagementStrategyFactory;
import org.apache.camel.model.Constants;
import org.apache.camel.model.DataFormatDefinition;
import org.apache.camel.model.RouteDefinition;
@@ -2313,37 +2310,7 @@ public class DefaultCamelContext extends
}
protected ManagementStrategy createManagementStrategy() {
- ManagementStrategy answer;
-
- if (disableJMX || Boolean.getBoolean(JmxSystemPropertyKeys.DISABLED)) {
- log.info("JMX is disabled. Using DefaultManagementStrategy.");
- answer = new DefaultManagementStrategy();
- } else {
- try {
- log.info("JMX enabled. Using ManagedManagementStrategy.");
- answer = new ManagedManagementStrategy(new
DefaultManagementAgent(this));
- // must start it to ensure JMX works and can load needed
Spring JARs
- startServices(answer);
- // prefer to have it at first strategy
- lifecycleStrategies.add(0, new
DefaultManagementLifecycleStrategy(this));
- } catch (Exception e) {
- answer = null;
- log.warn("Cannot create JMX lifecycle strategy. Fallback to
using DefaultManagementStrategy (non JMX).", e);
- }
- }
-
- if (answer == null) {
- log.warn("Cannot use JMX. Fallback to using
DefaultManagementStrategy (non JMX).");
- answer = new DefaultManagementStrategy();
- }
-
- // inject CamelContext
- if (answer instanceof CamelContextAware) {
- CamelContextAware aware = (CamelContextAware) answer;
- aware.setCamelContext(this);
- }
-
- return answer;
+ return new ManagementStrategyFactory().create(this, disableJMX ||
Boolean.getBoolean(JmxSystemPropertyKeys.DISABLED));
}
@Override
Added:
camel/trunk/camel-core/src/main/java/org/apache/camel/management/ManagementStrategyFactory.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/ManagementStrategyFactory.java?rev=1161026&view=auto
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/management/ManagementStrategyFactory.java
(added)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/management/ManagementStrategyFactory.java
Wed Aug 24 09:22:17 2011
@@ -0,0 +1,36 @@
+package org.apache.camel.management;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.ManagementStrategy;
+import org.apache.camel.util.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ManagementStrategyFactory {
+ private final transient Logger log = LoggerFactory.getLogger(getClass());
+
+ public ManagementStrategy create(CamelContext context, boolean disableJMX)
{
+ ManagementStrategy answer = null;
+
+ if (disableJMX || Boolean.getBoolean(JmxSystemPropertyKeys.DISABLED)) {
+ log.info("JMX is disabled. Using DefaultManagementStrategy.");
+ } else {
+ try {
+ log.info("JMX enabled. Using ManagedManagementStrategy.");
+ answer = new ManagedManagementStrategy(new
DefaultManagementAgent(context));
+ // must start it to ensure JMX works and can load needed
Spring JARs
+ ServiceHelper.startService(answer);
+ // prefer to have it at first strategy
+ context.getLifecycleStrategies().add(0, new
DefaultManagementLifecycleStrategy(context));
+ } catch (Exception e) {
+ answer = null;
+ log.warn("Cannot create JMX lifecycle strategy. Fallback to
using DefaultManagementStrategy (non JMX).", e);
+ }
+ }
+
+ if (answer == null) {
+ answer = new DefaultManagementStrategy();
+ }
+ return answer;
+ }
+}