You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2010/03/07 11:17:24 UTC
svn commit: r919962 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/management/
components/camel-spring/src/test/resources/org/apache/camel/spring/management/
Author: davsclaus
Date: Sun Mar 7 10:17:24 2010
New Revision: 919962
URL: http://svn.apache.org/viewvc?rev=919962&view=rev
Log:
Spring XML configuration of custom management made easier with using constructor parameters.
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/management/jmxInstrumentationWithConnector.xml
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java?rev=919962&r1=919961&r2=919962&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java Sun Mar 7 10:17:24 2010
@@ -23,6 +23,7 @@
import javax.management.JMException;
import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
import org.apache.camel.Component;
import org.apache.camel.Consumer;
import org.apache.camel.Endpoint;
@@ -81,16 +82,27 @@
* @see org.apache.camel.spi.ManagementStrategy
* @version $Revision$
*/
-public class DefaultManagementLifecycleStrategy implements LifecycleStrategy, Service {
+public class DefaultManagementLifecycleStrategy implements LifecycleStrategy, Service, CamelContextAware {
private static final Log LOG = LogFactory.getLog(DefaultManagementLifecycleStrategy.class);
private final Map<Processor, KeyValueHolder<ProcessorDefinition, InstrumentationProcessor>> wrappedProcessors =
new HashMap<Processor, KeyValueHolder<ProcessorDefinition, InstrumentationProcessor>>();
- private final CamelContext context;
+ private CamelContext camelContext;
private boolean initialized;
- public DefaultManagementLifecycleStrategy(CamelContext context) {
- this.context = context;
+ public DefaultManagementLifecycleStrategy() {
+ }
+
+ public DefaultManagementLifecycleStrategy(CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public CamelContext getCamelContext() {
+ return camelContext;
+ }
+
+ public void setCamelContext(CamelContext camelContext) {
+ this.camelContext = camelContext;
}
public void onContextStart(CamelContext context) {
@@ -365,7 +377,7 @@
}
for (Route route : routes) {
- ManagedRoute mr = new ManagedRoute(context, route);
+ ManagedRoute mr = new ManagedRoute(camelContext, route);
mr.init(getManagementStrategy());
// skip already managed routes, for example if the route has been restarted
@@ -472,7 +484,7 @@
// that then delegates to the real mbean which we register later in the onServiceAdd method
DelegatePerformanceCounter pc = new DelegatePerformanceCounter();
// set statistics enabled depending on the option
- boolean enabled = context.getManagementStrategy().getStatisticsLevel() == ManagementStatisticsLevel.All;
+ boolean enabled = camelContext.getManagementStrategy().getStatisticsLevel() == ManagementStatisticsLevel.All;
pc.setStatisticsEnabled(enabled);
// and add it as a a registered counter that will be used lazy when Camel
@@ -516,10 +528,11 @@
}
private ManagementStrategy getManagementStrategy() {
- return context.getManagementStrategy();
+ return camelContext.getManagementStrategy();
}
public void start() throws Exception {
+ ObjectHelper.notNull(camelContext, "CamelContext");
}
public void stop() throws Exception {
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java?rev=919962&r1=919961&r2=919962&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java Sun Mar 7 10:17:24 2010
@@ -51,6 +51,9 @@
private static final Log LOG = LogFactory.getLog(ManagedManagementStrategy.class);
+ public ManagedManagementStrategy() {
+ }
+
public ManagedManagementStrategy(CamelContext camelContext) {
this(new DefaultManagementAgent(camelContext));
}
Modified: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/management/jmxInstrumentationWithConnector.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/management/jmxInstrumentationWithConnector.xml?rev=919962&r1=919961&r2=919962&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/management/jmxInstrumentationWithConnector.xml (original)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/management/jmxInstrumentationWithConnector.xml Sun Mar 7 10:17:24 2010
@@ -22,54 +22,48 @@
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
">
- <!-- START SNIPPET: example -->
- <bean id="agent" class="org.apache.camel.management.DefaultManagementAgent">
- <property name="MBeanServer" ref="mbeanServer"/>
- <!-- From Camel 2.3.0, you need to set the camelContext property of DefaultManagementAgent -->
- <property name="camelContext" ref="camel" />
- </bean>
+ <!-- START SNIPPET: example -->
+ <bean id="agent" class="org.apache.camel.management.DefaultManagementAgent">
+ <property name="MBeanServer" ref="mbeanServer"/>
+ </bean>
<bean id="managementStrategy" class="org.apache.camel.management.ManagedManagementStrategy">
- <constructor-arg index="0"><ref bean="agent"/></constructor-arg>
+ <property name="managementAgent" ref="agent"/>
+ </bean>
+
+ <bean id="mybean" class="org.apache.camel.spring.example.DummyBean">
+ <property name="endpoint" ref="endpoint1"/>
+ </bean>
+
+ <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+ <endpoint id="endpoint1" uri="direct:start"/>
+ <endpoint id="endpoint2" uri="mock:end"/>
+
+ <route>
+ <from ref="endpoint1"/>
+ <to ref="endpoint2"/>
+ </route>
+ </camelContext>
+
+ <!--
+ this bean needs to be eagerly pre-instantiated in order for the exporting to occur;
+ this means that it must not be marked as lazily initialized
+ -->
+ <bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean">
+ <property name="defaultDomain" value="org.apache.camel.test"/>
+ </bean>
+
+ <bean id="registry" class="org.springframework.remoting.rmi.RmiRegistryFactoryBean">
+ <property name="port" value="9877"/>
+ </bean>
+
+ <bean id="serverConnector" class="org.springframework.jmx.support.ConnectorServerFactoryBean"
+ depends-on="registry">
+ <property name="objectName" value="connector:name=rmi"/>
+ <property name="serviceUrl" value="service:jmx:rmi:///jndi/rmi://localhost:9877/jmxrmi"/>
+ <property name="threaded" value="true"/>
+ <property name="daemon" value="true"/>
</bean>
-
- <bean id="lifeCycleStrategy" class="org.apache.camel.management.DefaultManagementLifecycleStrategy">
- <constructor-arg index="0" ref="camel"/>
- </bean>
-
- <bean id="mybean" class="org.apache.camel.spring.example.DummyBean">
- <property name="endpoint" ref="endpoint1"/>
- </bean>
-
- <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
- <beanPostProcessor/>
- <endpoint id="endpoint1" uri="direct:start"/>
- <endpoint id="endpoint2" uri="mock:end"/>
-
- <route>
- <from ref="endpoint1"/>
- <to ref="endpoint2"/>
- </route>
- </camelContext>
-
- <!--
- this bean needs to be eagerly pre-instantiated in order for the exporting to occur;
- this means that it must not be marked as lazily initialized
- -->
- <bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean">
- <property name="defaultDomain" value="org.apache.camel.test"/>
- </bean>
- <bean id="registry" class="org.springframework.remoting.rmi.RmiRegistryFactoryBean">
- <property name="port" value="9877"/>
- </bean>
- <bean id="serverConnector"
- class="org.springframework.jmx.support.ConnectorServerFactoryBean" depends-on="registry">
- <property name="objectName" value="connector:name=rmi"/>
- <property name="serviceUrl"
- value="service:jmx:rmi:///jndi/rmi://localhost:9877/jmxrmi"/>
- <property name="threaded" value="true"/>
- <property name="daemon" value="true"/>
- </bean>
- <!-- END SNIPPET: example -->
+ <!-- END SNIPPET: example -->
</beans>