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 2009/08/31 11:03:48 UTC
svn commit: r809509 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/component/bean/
camel-core/src/main/java/org/apache/camel/impl/
camel-core/src/main/java/org/apache/camel/management/
camel-core/src/main/java/org/apache/camel/management/...
Author: davsclaus
Date: Mon Aug 31 09:03:47 2009
New Revision: 809509
URL: http://svn.apache.org/viewvc?rev=809509&view=rev
Log:
CAMEL-1933: Overhaul of JMX. Improved management of tracer. Added managed scheduled consumer. Restart with executors works better now. Renamed some management classes.
Added:
camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java (contents, props changed)
- copied, changed from r809474, camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultInstrumentationAgent.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java (contents, props changed)
- copied, changed from r809474, camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagedLifecycleStrategy.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java (with props)
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedScheduledPollConsumerTest.java
- copied, changed from r809474, camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedUnregisterConsumerTest.java
Removed:
camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultInstrumentationAgent.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagedLifecycleStrategy.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTracer.java
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ThreadsProcessor.java
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/WireTapProcessor.java
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/Tracer.java
camel/trunk/camel-core/src/main/java/org/apache/camel/spi/Synchronization.java
camel/trunk/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationOnlyRegisterProcessorWithCustomIdTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationUsingDefaultsTest.java
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/managment/JmxInstrumentationWithConnectorTest.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java Mon Aug 31 09:03:47 2009
@@ -39,7 +39,6 @@
import org.apache.camel.OutHeaders;
import org.apache.camel.Properties;
import org.apache.camel.Property;
-import org.apache.camel.RuntimeCamelException;
import org.apache.camel.builder.ExpressionBuilder;
import org.apache.camel.language.LanguageAnnotation;
import org.apache.camel.spi.Registry;
@@ -49,7 +48,6 @@
import static org.apache.camel.util.ExchangeHelper.convertToType;
-
/**
* Represents the metadata about a bean type created via a combination of
* introspection and annotations together with some useful sensible defaults
@@ -430,7 +428,7 @@
return possibles.get(0);
} else if (possibles.isEmpty()) {
if (LOG.isTraceEnabled()) {
- LOG.trace("No poosible methods trying to convert body to parameter types");
+ LOG.trace("No possible methods trying to convert body to parameter types");
}
// lets try converting
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java Mon Aug 31 09:03:47 2009
@@ -66,7 +66,7 @@
}
public void process(Exchange exchange) throws Exception {
- // do we have am explict method name we always should invoke
+ // do we have an explicit method name we always should invoke
boolean isExplicitMethod = ObjectHelper.isNotEmpty(method);
Object bean = beanHolder.getBean();
@@ -74,7 +74,7 @@
BeanInfo beanInfo = beanHolder.getBeanInfo();
// do we have a custom adapter for this POJO to a Processor
- // should not be invoced if an explict method has been set
+ // should not be invoced if an explicit method has been set
Processor processor = getProcessor();
if (!isExplicitMethod && processor != null) {
if (LOG.isTraceEnabled()) {
@@ -109,7 +109,7 @@
invocation = beanInfo.createInvocation(bean, exchange);
}
if (invocation == null) {
- throw new IllegalStateException("No method invocation could be created, no maching method could be found on: " + bean);
+ throw new IllegalStateException("No method invocation could be created, no matching method could be found on: " + bean);
} else {
// set method name if not explicit given
if (method == null) {
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java Mon Aug 31 09:03:47 2009
@@ -59,7 +59,7 @@
if (fault != null) {
if (fault instanceof RuntimeCamelException) {
// if the inner cause is a runtime exception we can throw it directly
- if (((RuntimeCamelException) fault).getCause() instanceof RuntimeException) {
+ if (fault.getCause() instanceof RuntimeException) {
throw (RuntimeException) ((RuntimeCamelException) fault).getCause();
}
throw (RuntimeCamelException) fault;
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=809509&r1=809508&r2=809509&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 Mon Aug 31 09:03:47 2009
@@ -45,8 +45,8 @@
import org.apache.camel.TypeConverter;
import org.apache.camel.builder.ErrorHandlerBuilder;
import org.apache.camel.impl.converter.DefaultTypeConverter;
-import org.apache.camel.management.DefaultInstrumentationAgent;
-import org.apache.camel.management.DefaultManagedLifecycleStrategy;
+import org.apache.camel.management.DefaultManagementAgent;
+import org.apache.camel.management.DefaultManagementLifecycleStrategy;
import org.apache.camel.management.DefaultManagementStrategy;
import org.apache.camel.management.JmxSystemPropertyKeys;
import org.apache.camel.management.ManagedManagementStrategy;
@@ -140,8 +140,8 @@
boolean registered = false;
try {
LOG.info("JMX enabled. Using DefaultManagedLifecycleStrategy.");
- managementStrategy = new ManagedManagementStrategy(new DefaultInstrumentationAgent());
- lifecycleStrategies.add(new DefaultManagedLifecycleStrategy(this));
+ managementStrategy = new ManagedManagementStrategy(new DefaultManagementAgent());
+ lifecycleStrategies.add(new DefaultManagementLifecycleStrategy(this));
registered = true;
} catch (NoClassDefFoundError e) {
// if we can't instantiate the JMX enabled strategy then fallback to default
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java Mon Aug 31 09:03:47 2009
@@ -184,6 +184,8 @@
protected void doStop() throws Exception {
if (executorService != null) {
executorService.shutdown();
+ // must null it so we can restart
+ executorService = null;
}
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java Mon Aug 31 09:03:47 2009
@@ -53,7 +53,6 @@
public DefaultProducerTemplate(CamelContext context) {
this.context = context;
- this.executor = ExecutorServiceHelper.newScheduledThreadPool(DEFAULT_THREADPOOL_SIZE, "ProducerTemplate", true);
this.producerCache = new ProducerCache(context.getProducerServicePool());
}
@@ -670,4 +669,21 @@
return executor.submit(task);
}
+ @Override
+ public void start() throws Exception {
+ super.start();
+ if (executor == null) {
+ executor = ExecutorServiceHelper.newScheduledThreadPool(DEFAULT_THREADPOOL_SIZE, "ProducerTemplate", true);
+ }
+ }
+
+ @Override
+ public void stop() throws Exception {
+ super.stop();
+ if (executor != null) {
+ executor.shutdown();
+ // must null it so we can restart
+ executor = null;
+ }
+ }
}
Copied: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java (from r809474, camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultInstrumentationAgent.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java?p2=camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java&p1=camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultInstrumentationAgent.java&r1=809474&r2=809509&rev=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultInstrumentationAgent.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java Mon Aug 31 09:03:47 2009
@@ -50,14 +50,14 @@
/**
* Default implementation of the Camel JMX service agent
*/
-public class DefaultInstrumentationAgent extends ServiceSupport implements ManagementAgent {
+public class DefaultManagementAgent extends ServiceSupport implements ManagementAgent {
public static final String DEFAULT_DOMAIN = "org.apache.camel";
public static final String DEFAULT_HOST = "localhost";
public static final int DEFAULT_REGISTRY_PORT = 1099;
public static final int DEFAULT_CONNECTION_PORT = -1;
public static final String DEFAULT_SERVICE_URL_PATH = "/jmxrmi/camel";
- private static final transient Log LOG = LogFactory.getLog(DefaultInstrumentationAgent.class);
+ private static final transient Log LOG = LogFactory.getLog(DefaultManagementAgent.class);
private ExecutorService executorService;
private MBeanServer server;
Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java (from r809474, camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagedLifecycleStrategy.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java?p2=camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java&p1=camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagedLifecycleStrategy.java&r1=809474&r2=809509&rev=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagedLifecycleStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java Mon Aug 31 09:03:47 2009
@@ -33,6 +33,7 @@
import org.apache.camel.Route;
import org.apache.camel.Service;
import org.apache.camel.impl.EventDrivenConsumerRoute;
+import org.apache.camel.impl.ScheduledPollConsumer;
import org.apache.camel.management.mbean.ManagedBrowsableEndpoint;
import org.apache.camel.management.mbean.ManagedCamelContext;
import org.apache.camel.management.mbean.ManagedComponent;
@@ -43,6 +44,7 @@
import org.apache.camel.management.mbean.ManagedProcessor;
import org.apache.camel.management.mbean.ManagedProducer;
import org.apache.camel.management.mbean.ManagedRoute;
+import org.apache.camel.management.mbean.ManagedScheduledPollConsumer;
import org.apache.camel.management.mbean.ManagedSendProcessor;
import org.apache.camel.management.mbean.ManagedThrottler;
import org.apache.camel.management.mbean.ManagedTracer;
@@ -73,16 +75,16 @@
* @see org.apache.camel.spi.ManagementStrategy
* @version $Revision$
*/
-public class DefaultManagedLifecycleStrategy implements LifecycleStrategy, Service {
+public class DefaultManagementLifecycleStrategy implements LifecycleStrategy, Service {
- private static final Log LOG = LogFactory.getLog(DefaultManagedLifecycleStrategy.class);
+ private static final Log LOG = LogFactory.getLog(DefaultManagementLifecycleStrategy.class);
private static final String MANAGED_RESOURCE_CLASSNAME = "org.springframework.jmx.export.annotation.ManagedResource";
private final Map<Processor, KeyValueHolder<ProcessorDefinition, InstrumentationProcessor>> wrappedProcessors =
new HashMap<Processor, KeyValueHolder<ProcessorDefinition, InstrumentationProcessor>>();
private final CamelContext context;
private boolean initialized;
- public DefaultManagedLifecycleStrategy(CamelContext context) {
+ public DefaultManagementLifecycleStrategy(CamelContext context) {
this.context = context;
}
@@ -336,7 +338,9 @@
}
private Object getManagedObjectForService(CamelContext context, Service service) {
- if (service instanceof Consumer) {
+ if (service instanceof ScheduledPollConsumer) {
+ return new ManagedScheduledPollConsumer(context, (ScheduledPollConsumer) service);
+ } else if (service instanceof Consumer) {
return new ManagedConsumer(context, (Consumer) service);
} else if (service instanceof Producer) {
return new ManagedProducer(context, (Producer) service);
Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
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=809509&r1=809508&r2=809509&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 Mon Aug 31 09:03:47 2009
@@ -47,7 +47,7 @@
private static final Log LOG = LogFactory.getLog(ManagedManagementStrategy.class);
public ManagedManagementStrategy() {
- this(new DefaultInstrumentationAgent());
+ this(new DefaultManagementAgent());
}
public ManagedManagementStrategy(ManagementAgent managementAgent) {
Added: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java?rev=809509&view=auto
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java (added)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java Mon Aug 31 09:03:47 2009
@@ -0,0 +1,82 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.management.mbean;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.impl.ScheduledPollConsumer;
+import org.springframework.jmx.export.annotation.ManagedAttribute;
+import org.springframework.jmx.export.annotation.ManagedResource;
+
+/**
+ * @version $Revision$
+ */
+@ManagedResource(description = "Managed Scheduled Polling Consumer")
+public class ManagedScheduledPollConsumer extends ManagedConsumer {
+
+ private ScheduledPollConsumer consumer;
+
+ public ManagedScheduledPollConsumer(CamelContext context, ScheduledPollConsumer consumer) {
+ super(context, consumer);
+ this.consumer = consumer;
+ }
+
+ public ScheduledPollConsumer getConsumer() {
+ return consumer;
+ }
+
+ @ManagedAttribute(description = "Scheduled Delay")
+ public long getDelay() {
+ return getConsumer().getDelay();
+ }
+
+ @ManagedAttribute(description = "Scheduled Delay")
+ public void setDelay(long delay) {
+ getConsumer().setDelay(delay);
+ }
+
+ @ManagedAttribute(description = "Scheduled Initial Delay")
+ public long getInitialDelay() {
+ return getConsumer().getInitialDelay();
+ }
+
+ @ManagedAttribute(description = "Scheduled Initial Delay")
+ public void setInitialDelay(long initialDelay) {
+ getConsumer().setInitialDelay(initialDelay);
+ }
+
+ @ManagedAttribute(description = "Scheduled Fixed Delay")
+ public boolean isUseFixedDelay() {
+ return getConsumer().isUseFixedDelay();
+ }
+
+ @ManagedAttribute(description = "Scheduled Fixed Delay")
+ public void setUseFixedDelay(boolean useFixedDelay) {
+ getConsumer().setUseFixedDelay(useFixedDelay);
+ }
+
+ @ManagedAttribute(description = "Scheduled TimeUnit")
+ public String getTimeUnit() {
+ return getConsumer().getTimeUnit().name();
+ }
+
+ @ManagedAttribute(description = "Scheduled TimeUnit")
+ public void setTimeUnit(String timeUnit) {
+ getConsumer().setTimeUnit(TimeUnit.valueOf(timeUnit));
+ }
+}
Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTracer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTracer.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTracer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTracer.java Mon Aug 31 09:03:47 2009
@@ -17,7 +17,9 @@
package org.apache.camel.management.mbean;
import org.apache.camel.CamelContext;
+import org.apache.camel.LoggingLevel;
import org.apache.camel.processor.interceptor.Tracer;
+import org.apache.camel.util.ObjectHelper;
import org.springframework.jmx.export.annotation.ManagedAttribute;
import org.springframework.jmx.export.annotation.ManagedResource;
@@ -25,13 +27,12 @@
* @version $Revision$
*/
@ManagedResource(description = "Managed Tracer")
-public class ManagedTracer extends ManagedPerformanceCounter {
+public class ManagedTracer {
private CamelContext camelContext;
private Tracer tracer;
public ManagedTracer(CamelContext camelContext, Tracer tracer) {
- super(camelContext.getManagementStrategy());
this.camelContext = camelContext;
this.tracer = tracer;
}
@@ -44,17 +45,349 @@
return tracer;
}
- @ManagedAttribute(description = "Enabled")
+ @ManagedAttribute(description = "Tracer enabled")
public boolean getEnabled() {
return tracer.isEnabled();
}
- @ManagedAttribute(description = "Enabled")
+ @ManagedAttribute(description = "Tracer enabled")
public void setEnabled(boolean enabled) {
tracer.setEnabled(enabled);
}
- // TODO: add management for formatter etc.
+ @ManagedAttribute(description = "Additional destination Uri")
+ public String getDestinationUri() {
+ return tracer.getDestinationUri();
+ }
+
+ @ManagedAttribute(description = "Additional destination Uri")
+ public void setDestinationUri(String uri) {
+ if (ObjectHelper.isEmpty(uri)) {
+ tracer.setDestinationUri(null);
+ } else {
+ tracer.setDestinationUri(uri);
+ }
+ }
+
+ @ManagedAttribute(description = "Logging Name")
+ public String getLogName() {
+ return tracer.getLogName();
+ }
+
+ @ManagedAttribute(description = "Using Jpa")
+ public boolean getUseJpa() {
+ return tracer.isUseJpa();
+ }
+
+ @ManagedAttribute(description = "Logging Name")
+ public void setLogName(String logName) {
+ tracer.setLogName(logName);
+ }
+
+ @ManagedAttribute(description = "Logging Level")
+ public String getLogLevel() {
+ return tracer.getLogLevel().name();
+ }
+
+ @ManagedAttribute(description = "Logging Level")
+ public void setLogLevel(String logLevel) {
+ tracer.setLogLevel(LoggingLevel.valueOf(logLevel));
+ }
+
+ @ManagedAttribute(description = "Log Stacktrace")
+ public boolean getLogStackTrace() {
+ return tracer.isLogStackTrace();
+ }
+
+ @ManagedAttribute(description = "Log Stacktrace")
+ public void setLogStackTrace(boolean logStackTrace) {
+ tracer.setLogStackTrace(logStackTrace);
+ }
+
+ @ManagedAttribute(description = "Trace Interceptors")
+ public boolean getTraceInterceptors() {
+ return tracer.isTraceInterceptors();
+ }
+
+ @ManagedAttribute(description = "Trace Interceptors")
+ public void setTraceInterceptors(boolean traceInterceptors) {
+ tracer.setTraceInterceptors(traceInterceptors);
+ }
+
+ @ManagedAttribute(description = "Trace Exceptions")
+ public boolean getTraceExceptions() {
+ return tracer.isTraceExceptions();
+ }
+ @ManagedAttribute(description = "Trace Exceptions")
+ public void setTraceExceptions(boolean traceExceptions) {
+ tracer.setTraceExceptions(traceExceptions);
+ }
+
+ @ManagedAttribute(description = "Trace Out Exchanges")
+ public boolean getTraceOutExchanges() {
+ return tracer.isTraceOutExchanges();
+ }
+
+ @ManagedAttribute(description = "Trace Out Exchanges")
+ public void setTraceOutExchanges(boolean traceOutExchanges) {
+ tracer.setTraceOutExchanges(traceOutExchanges);
+ }
+
+ @ManagedAttribute(description = "Formatter show body")
+ public boolean getFormatterShowBody() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return false;
+ }
+ return tracer.getDefaultTraceFormatter().isShowBody();
+ }
+
+ @ManagedAttribute(description = "Formatter show body")
+ public void setFormatterShowBody(boolean showBody) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setShowBody(showBody);
+ }
+
+ @ManagedAttribute(description = "Formatter show body type")
+ public boolean getFormatterShowBodyType() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return false;
+ }
+ return tracer.getDefaultTraceFormatter().isShowOutBodyType();
+ }
+
+ @ManagedAttribute(description = "Formatter show body type")
+ public void setFormatterShowBodyType(boolean showBodyType) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setShowBodyType(showBodyType);
+ }
+
+ @ManagedAttribute(description = "Formatter show out body")
+ public boolean getFormatterShowOutBody() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return false;
+ }
+ return tracer.getDefaultTraceFormatter().isShowOutBody();
+ }
+
+ @ManagedAttribute(description = "Formatter show out body")
+ public void setFormatterShowOutBody(boolean showOutBody) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setShowOutBody(showOutBody);
+ }
+
+ @ManagedAttribute(description = "Formatter show out body type")
+ public boolean getFormatterShowOutBodyType() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return false;
+ }
+ return tracer.getDefaultTraceFormatter().isShowOutBodyType();
+ }
+
+ @ManagedAttribute(description = "Formatter show out body type")
+ public void setFormatterShowOutBodyType(boolean showOutBodyType) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setShowOutBodyType(showOutBodyType);
+ }
+
+ @ManagedAttribute(description = "Formatter show breadcrumb")
+ public boolean getFormatterShowBreadCrumb() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return false;
+ }
+ return tracer.getDefaultTraceFormatter().isShowBreadCrumb();
+ }
+ @ManagedAttribute(description = "Formatter show breadcrumb")
+ public void setFormatterShowBreadCrumb(boolean showBreadCrumb) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setShowBreadCrumb(showBreadCrumb);
+ }
+
+ @ManagedAttribute(description = "Formatter show exchange id")
+ public boolean getFormatterShowExchangeId() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return false;
+ }
+ return tracer.getDefaultTraceFormatter().isShowExchangeId();
+ }
+
+ @ManagedAttribute(description = "Formatter show exchange id")
+ public void setFormatterShowExchangeId(boolean showExchangeId) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setShowExchangeId(showExchangeId);
+ }
+
+ @ManagedAttribute(description = "Formatter show headers")
+ public boolean getFormatterShowHeaders() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return false;
+ }
+ return tracer.getDefaultTraceFormatter().isShowHeaders();
+ }
+
+ @ManagedAttribute(description = "Formatter show headers")
+ public void setFormatterShowHeaders(boolean showHeaders) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setShowHeaders(showHeaders);
+ }
+
+ @ManagedAttribute(description = "Formatter show out headers")
+ public boolean getFormatterShowOutHeaders() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return false;
+ }
+ return tracer.getDefaultTraceFormatter().isShowOutHeaders();
+ }
+
+ @ManagedAttribute(description = "Formatter show out headers")
+ public void setFormatterShowOutHeaders(boolean showOutHeaders) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setShowOutHeaders(showOutHeaders);
+ }
+
+ @ManagedAttribute(description = "Formatter show properties")
+ public boolean getFormatterShowProperties() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return false;
+ }
+ return tracer.getDefaultTraceFormatter().isShowProperties();
+ }
+
+ @ManagedAttribute(description = "Formatter show properties")
+ public void setFormatterShowProperties(boolean showProperties) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setShowProperties(showProperties);
+ }
+
+ @ManagedAttribute(description = "Formatter show node")
+ public boolean getFormatterShowNode() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return false;
+ }
+ return tracer.getDefaultTraceFormatter().isShowNode();
+ }
+
+ @ManagedAttribute(description = "Formatter show node")
+ public void setFormatterShowNode(boolean showNode) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setShowNode(showNode);
+ }
+
+ @ManagedAttribute(description = "Formatter show exchange pattern")
+ public boolean getFormatterShowExchangePattern() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return false;
+ }
+ return tracer.getDefaultTraceFormatter().isShowExchangePattern();
+ }
+
+ @ManagedAttribute(description = "Formatter show exchange pattern")
+ public void setFormatterShowExchangePattern(boolean showExchangePattern) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setShowExchangePattern(showExchangePattern);
+ }
+
+ @ManagedAttribute(description = "Formatter show exception")
+ public boolean getFormatterShowException() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return false;
+ }
+ return tracer.getDefaultTraceFormatter().isShowException();
+ }
+
+ @ManagedAttribute(description = "Formatter show exception")
+ public void setFormatterShowException(boolean showException) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setShowException(showException);
+ }
+
+ @ManagedAttribute(description = "Formatter breadcrumb length")
+ public int getFormatterBreadCrumbLength() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return 0;
+ }
+ return tracer.getDefaultTraceFormatter().getBreadCrumbLength();
+ }
+
+ @ManagedAttribute(description = "Formatter breadcrumb length")
+ public void setFormatterBreadCrumbLength(int breadCrumbLength) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setBreadCrumbLength(breadCrumbLength);
+ }
+
+ @ManagedAttribute(description = "Formatter show short exchange id")
+ public boolean getFormatterShowShortExchangeId() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return false;
+ }
+ return tracer.getDefaultTraceFormatter().isShowShortExchangeId();
+ }
+
+ @ManagedAttribute(description = "Formatter show short exchange id")
+ public void setFormatterShowShortExchangeId(boolean showShortExchangeId) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setShowShortExchangeId(showShortExchangeId);
+ }
+
+ @ManagedAttribute(description = "Formatter node length")
+ public int getFormatterNodeLength() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return 0;
+ }
+ return tracer.getDefaultTraceFormatter().getNodeLength();
+ }
+
+ @ManagedAttribute(description = "Formatter node length")
+ public void setFormatterNodeLength(int nodeLength) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setNodeLength(nodeLength);
+ }
+
+ @ManagedAttribute(description = "Formatter max chars")
+ public int getFormatterMaxChars() {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return 0;
+ }
+ return tracer.getDefaultTraceFormatter().getMaxChars();
+ }
+
+ @ManagedAttribute(description = "Formatter max chars")
+ public void setFormatterMaxChars(int maxChars) {
+ if (tracer.getDefaultTraceFormatter() == null) {
+ return;
+ }
+ tracer.getDefaultTraceFormatter().setMaxChars(maxChars);
+ }
+
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java Mon Aug 31 09:03:47 2009
@@ -241,6 +241,7 @@
if (executorService != null) {
executorService.shutdown();
executorService.awaitTermination(0, TimeUnit.SECONDS);
+ executorService = null;
}
ServiceHelper.stopServices(processors);
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java Mon Aug 31 09:03:47 2009
@@ -59,6 +59,8 @@
protected void doStop() throws Exception {
if (executorService != null) {
executorService.shutdown();
+ // must null it so we can restart
+ executorService = null;
}
ServiceHelper.stopService(processor);
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ThreadsProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ThreadsProcessor.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ThreadsProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ThreadsProcessor.java Mon Aug 31 09:03:47 2009
@@ -112,6 +112,8 @@
super.doStop();
if (executorService != null) {
executorService.shutdown();
+ // must null it so we can restart
+ executorService = null;
}
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/WireTapProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/WireTapProcessor.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/WireTapProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/WireTapProcessor.java Mon Aug 31 09:03:47 2009
@@ -63,6 +63,8 @@
protected void doStop() throws Exception {
if (executorService != null) {
executorService.shutdown();
+ // must null it so we can restart
+ executorService = null;
}
super.doStop();
}
@@ -144,7 +146,7 @@
}
public ExecutorService getExecutorService() {
- if (executorService == null) {
+ if (executorService == null || executorService.isShutdown()) {
executorService = createExecutorService();
}
return executorService;
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java Mon Aug 31 09:03:47 2009
@@ -64,20 +64,7 @@
this.tracer = tracer;
this.node = node;
this.formatter = formatter;
-
- // set logger to use
- if (tracer.getLogName() != null) {
- logger = new Logger(LogFactory.getLog(tracer.getLogName()), this);
- } else {
- // use default logger
- logger = new Logger(LogFactory.getLog(TraceInterceptor.class), this);
- }
-
- // set logging level if provided
- if (tracer.getLogLevel() != null) {
- logger.setLevel(tracer.getLogLevel());
- }
-
+ this.logger = tracer.getLogger(this);
if (tracer.getFormatter() != null) {
this.formatter = tracer.getFormatter();
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/Tracer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/Tracer.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/Tracer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/Tracer.java Mon Aug 31 09:03:47 2009
@@ -25,7 +25,10 @@
import org.apache.camel.Processor;
import org.apache.camel.Service;
import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.processor.Logger;
+import org.apache.camel.spi.ExchangeFormatter;
import org.apache.camel.spi.InterceptStrategy;
+import org.apache.commons.logging.LogFactory;
/**
* An interceptor strategy for tracing routes
@@ -36,8 +39,8 @@
private TraceFormatter formatter = new DefaultTraceFormatter();
private boolean enabled = true;
- private String logName;
- private LoggingLevel logLevel;
+ private String logName = Tracer.class.getName();
+ private LoggingLevel logLevel = LoggingLevel.INFO;
private Predicate traceFilter;
private boolean traceInterceptors;
private boolean traceExceptions = true;
@@ -46,6 +49,7 @@
private String destinationUri;
private Endpoint destination;
private boolean useJpa;
+ private Logger logger;
/**
* Creates a new tracer.
@@ -78,6 +82,20 @@
return null;
}
+ /**
+ * Gets the logger to be used for tracers that can format and log a given exchange.
+ *
+ * @param formatter the exchange formatter
+ * @return the logger to use
+ */
+ public synchronized Logger getLogger(ExchangeFormatter formatter) {
+ if (logger == null) {
+ logger = new Logger(LogFactory.getLog(getLogName()), formatter);
+ logger.setLevel(getLogLevel());
+ }
+ return logger;
+ }
+
public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition definition,
Processor target, Processor nextTarget) throws Exception {
// Force the creation of an id, otherwise the id is not available when the trace formatter is
@@ -140,6 +158,10 @@
*/
public void setLogLevel(LoggingLevel logLevel) {
this.logLevel = logLevel;
+ // update logger if its in use
+ if (logger != null) {
+ logger.setLevel(logLevel);
+ }
}
public boolean isTraceExceptions() {
@@ -174,6 +196,10 @@
*/
public void setLogName(String logName) {
this.logName = logName;
+ // update logger if its in use
+ if (logger != null) {
+ logger.setLogName(logName);
+ }
}
/**
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/spi/Synchronization.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/spi/Synchronization.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/spi/Synchronization.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/spi/Synchronization.java Mon Aug 31 09:03:47 2009
@@ -38,7 +38,7 @@
/**
* Called when the processing of the message exchange has failed for some reason.
* The exception which caused the problem is in {@link Exchange#getException()} and
- * there could be a fault message via {@link Exchange#getFault()}
+ * there could be a fault message via {@link org.apache.camel.Message#isFault()}
*
* @param exchange the exchange being processed
*/
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationOnlyRegisterProcessorWithCustomIdTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationOnlyRegisterProcessorWithCustomIdTest.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationOnlyRegisterProcessorWithCustomIdTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationOnlyRegisterProcessorWithCustomIdTest.java Mon Aug 31 09:03:47 2009
@@ -31,7 +31,7 @@
*/
public class JmxInstrumentationOnlyRegisterProcessorWithCustomIdTest extends ContextTestSupport {
- protected String domainName = DefaultInstrumentationAgent.DEFAULT_DOMAIN;
+ protected String domainName = DefaultManagementAgent.DEFAULT_DOMAIN;
protected MBeanServer server;
public void testCustomId() throws Exception {
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationUsingDefaultsTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationUsingDefaultsTest.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationUsingDefaultsTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationUsingDefaultsTest.java Mon Aug 31 09:03:47 2009
@@ -38,7 +38,7 @@
*/
public class JmxInstrumentationUsingDefaultsTest extends ContextTestSupport {
- protected String domainName = DefaultInstrumentationAgent.DEFAULT_DOMAIN;
+ protected String domainName = DefaultManagementAgent.DEFAULT_DOMAIN;
protected MBeanServerConnection mbsc;
protected long sleepForConnection;
Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedScheduledPollConsumerTest.java (from r809474, camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedUnregisterConsumerTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedScheduledPollConsumerTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedScheduledPollConsumerTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedUnregisterConsumerTest.java&r1=809474&r2=809509&rev=809509&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedUnregisterConsumerTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedScheduledPollConsumerTest.java Mon Aug 31 09:03:47 2009
@@ -17,6 +17,7 @@
package org.apache.camel.management;
import java.util.Set;
+import javax.management.Attribute;
import javax.management.MBeanServer;
import javax.management.ObjectName;
@@ -28,7 +29,7 @@
/**
* @version $Revision$
*/
-public class ManagedUnregisterConsumerTest extends ContextTestSupport {
+public class ManagedScheduledPollConsumerTest extends ContextTestSupport {
protected CamelContext createCamelContext() throws Exception {
CamelContext context = new DefaultCamelContext();
@@ -39,7 +40,7 @@
}
@SuppressWarnings("unchecked")
- public void testUnregisterConsumer() throws Exception {
+ public void testScheduledPollConsumer() throws Exception {
MBeanServer mbeanServer = context.getManagementStrategy().getManagementAgent().getMBeanServer();
Set<ObjectName> set = mbeanServer.queryNames(new ObjectName("*:type=consumers,*"), null);
@@ -49,10 +50,24 @@
assertTrue("Should be registered", mbeanServer.isRegistered(on));
String uri = (String) mbeanServer.getAttribute(on, "EndpointUri");
- assertEquals("direct://start", uri);
+ assertEquals("file://target/foo?delay=4000", uri);
- context.stop();
+ Long delay = (Long) mbeanServer.getAttribute(on, "Delay");
+ assertEquals(4000, delay.longValue());
+
+ // stop it
+ mbeanServer.invoke(on, "stop", null, null);
+
+ // change delay
+ mbeanServer.setAttribute(on, new Attribute("Delay", 2000));
+ // start it
+ mbeanServer.invoke(on, "start", null, null);
+
+ delay = (Long) mbeanServer.getAttribute(on, "Delay");
+ assertEquals(2000, delay.longValue());
+
+ context.stop();
assertFalse("Should no longer be registered", mbeanServer.isRegistered(on));
}
@@ -61,9 +76,9 @@
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("direct:start").to("mock:result");
+ from("file://target/foo?delay=4000").to("mock:result");
}
};
}
-}
+}
\ No newline at end of file
Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java (original)
+++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java Mon Aug 31 09:03:47 2009
@@ -34,8 +34,8 @@
import org.apache.camel.builder.ErrorHandlerBuilder;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.scan.PatternBasedPackageScanFilter;
-import org.apache.camel.management.DefaultInstrumentationAgent;
-import org.apache.camel.management.DefaultManagedLifecycleStrategy;
+import org.apache.camel.management.DefaultManagementAgent;
+import org.apache.camel.management.DefaultManagementLifecycleStrategy;
import org.apache.camel.management.DefaultManagementStrategy;
import org.apache.camel.management.ManagedManagementStrategy;
import org.apache.camel.model.FromDefinition;
@@ -80,6 +80,7 @@
import org.springframework.context.event.ContextRefreshedEvent;
import static org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException;
+
/**
* A Spring {@link FactoryBean} to create and initialize a
* {@link SpringCamelContext} and install routes either explicitly configured in
@@ -443,7 +444,7 @@
getContext().setManagementStrategy(new DefaultManagementStrategy());
} else if (camelJMXAgent != null) {
LOG.info("JMXAgent enabled: " + camelJMXAgent);
- DefaultInstrumentationAgent agent = new DefaultInstrumentationAgent();
+ DefaultManagementAgent agent = new DefaultManagementAgent();
agent.setConnectorPort(camelJMXAgent.getConnectorPort());
agent.setCreateConnector(camelJMXAgent.isCreateConnector());
agent.setMBeanObjectDomainName(camelJMXAgent.getMbeanObjectDomainName());
@@ -457,7 +458,7 @@
getContext().setManagementStrategy(managementStrategy);
// clear the existing lifecycle strategies define by the DefaultCamelContext constructor
getContext().getLifecycleStrategies().clear();
- getContext().addLifecycleStrategy(new DefaultManagedLifecycleStrategy(getContext()));
+ getContext().addLifecycleStrategy(new DefaultManagementLifecycleStrategy(getContext()));
getContext().getManagementStrategy().onlyManageProcessorWithCustomId(camelJMXAgent.getOnlyRegisterProcessorWithCustomId());
}
}
Modified: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/managment/JmxInstrumentationWithConnectorTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/managment/JmxInstrumentationWithConnectorTest.java?rev=809509&r1=809508&r2=809509&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/managment/JmxInstrumentationWithConnectorTest.java (original)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/managment/JmxInstrumentationWithConnectorTest.java Mon Aug 31 09:03:47 2009
@@ -16,7 +16,7 @@
*/
package org.apache.camel.spring.managment;
-import org.apache.camel.management.DefaultInstrumentationAgent;
+import org.apache.camel.management.DefaultManagementAgent;
import org.apache.camel.spi.ManagementAgent;
import org.apache.camel.spring.EndpointReferenceTest;
import org.springframework.context.support.AbstractXmlApplicationContext;
@@ -25,7 +25,7 @@
public class JmxInstrumentationWithConnectorTest extends EndpointReferenceTest {
public void testJmxConfiguration() throws Exception {
- ManagementAgent agent = getMandatoryBean(DefaultInstrumentationAgent.class, "agent");
+ ManagementAgent agent = getMandatoryBean(DefaultManagementAgent.class, "agent");
assertNotNull("SpringInstrumentationAgent must be configured for JMX support", agent);
assertNotNull("MBeanServer must be configured for JMX support", agent.getMBeanServer());
assertEquals("org.apache.camel.test", agent.getMBeanServer().getDefaultDomain());