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/12/07 10:48:53 UTC
svn commit: r1042949 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/component/timer/
camel-core/src/main/java/org/apache/camel/management/
camel-core/src/main/java/org/apache/camel/management/mbean/
camel-core/src/main/java/org/apache/cam...
Author: davsclaus
Date: Tue Dec 7 09:48:52 2010
New Revision: 1042949
URL: http://svn.apache.org/viewvc?rev=1042949&view=rev
Log:
CAMEL-3399: Using Spring JMX annotations is picked up and use without the need for implementing ManagementAware, which has been @deprecated.
Added:
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedInstance.java
Removed:
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCustomProcessor.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/JmxMBeanAssembler.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedComponent.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedConsumer.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCounter.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDelayer.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpoint.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEventNotifier.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedPerformanceCounter.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProducer.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProducerCache.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottler.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottlingInflightRoutePolicy.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/spi/ManagementAware.java
camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedCustomProcessorTest.java
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsTemporaryQueueEndpoint.java
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsTemporaryTopicEndpoint.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java Tue Dec 7 09:48:52 2010
@@ -25,7 +25,6 @@ import org.apache.camel.Producer;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.Service;
import org.apache.camel.impl.DefaultEndpoint;
-import org.apache.camel.spi.ManagementAware;
import org.springframework.jmx.export.annotation.ManagedAttribute;
import org.springframework.jmx.export.annotation.ManagedResource;
@@ -35,7 +34,7 @@ import org.springframework.jmx.export.an
* @version $Revision$
*/
@ManagedResource(description = "Managed Timer Endpoint")
-public class TimerEndpoint extends DefaultEndpoint implements Service, ManagementAware<TimerEndpoint> {
+public class TimerEndpoint extends DefaultEndpoint implements Service {
private String timerName;
private Date time;
private long period = 1000;
@@ -69,10 +68,6 @@ public class TimerEndpoint extends Defau
return new TimerConsumer(this, processor);
}
- public Object getManagedObject(TimerEndpoint object) {
- return this;
- }
-
public void start() throws Exception {
// do nothing, the timer will be set when the first consumer will request it
}
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=1042949&r1=1042948&r2=1042949&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 Tue Dec 7 09:48:52 2010
@@ -49,7 +49,6 @@ import org.apache.camel.management.mbean
import org.apache.camel.management.mbean.ManagedCamelContext;
import org.apache.camel.management.mbean.ManagedComponent;
import org.apache.camel.management.mbean.ManagedConsumer;
-import org.apache.camel.management.mbean.ManagedCustomProcessor;
import org.apache.camel.management.mbean.ManagedDelayer;
import org.apache.camel.management.mbean.ManagedEndpoint;
import org.apache.camel.management.mbean.ManagedErrorHandler;
@@ -80,7 +79,6 @@ import org.apache.camel.processor.Delega
import org.apache.camel.processor.ErrorHandler;
import org.apache.camel.processor.SendProcessor;
import org.apache.camel.processor.Throttler;
-import org.apache.camel.processor.WrapProcessor;
import org.apache.camel.processor.interceptor.Tracer;
import org.apache.camel.spi.BrowsableEndpoint;
import org.apache.camel.spi.CamelContextNameStrategy;
@@ -473,8 +471,7 @@ public class DefaultManagementLifecycleS
} else if (target instanceof SendProcessor) {
answer = new ManagedSendProcessor(context, (SendProcessor) target, definition);
} else if (target instanceof ManagementAware) {
- Object managedObject = ((ManagementAware) target).getManagedObject(processor);
- answer = new ManagedCustomProcessor(context, managedObject, target, definition);
+ return ((ManagementAware) target).getManagedObject(processor);
}
if (answer != null) {
@@ -489,13 +486,13 @@ public class DefaultManagementLifecycleS
target = ((DelegateAsyncProcessor) target).getProcessor();
} else {
// no delegate so we dont have any target to try next
- target = null;
+ break;
}
}
if (answer == null) {
// fallback to a generic processor
- answer = new ManagedProcessor(context, processor, definition);
+ answer = new ManagedProcessor(context, target, definition);
}
answer.setRoute(route);
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/JmxMBeanAssembler.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/JmxMBeanAssembler.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/JmxMBeanAssembler.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/JmxMBeanAssembler.java Tue Dec 7 09:48:52 2010
@@ -23,8 +23,12 @@ import javax.management.modelmbean.Inval
import javax.management.modelmbean.ModelMBeanInfo;
import javax.management.modelmbean.RequiredModelMBean;
-import org.apache.camel.management.mbean.ManagedCustomProcessor;
+import org.apache.camel.management.mbean.ManagedInstance;
+import org.apache.camel.util.ObjectHelper;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.springframework.jmx.export.annotation.AnnotationJmxAttributeSource;
+import org.springframework.jmx.export.annotation.ManagedResource;
import org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler;
/**
@@ -35,7 +39,7 @@ import org.springframework.jmx.export.as
* @version $Revision$
*/
public class JmxMBeanAssembler {
-
+ private final static Log LOG = LogFactory.getLog(JmxMBeanAssembler.class);
private final MetadataMBeanInfoAssembler assembler;
private final MBeanServer server;
@@ -46,15 +50,27 @@ public class JmxMBeanAssembler {
}
public RequiredModelMBean assemble(Object obj, ObjectName name) throws JMException {
- ModelMBeanInfo mbi;
+ ModelMBeanInfo mbi = null;
+
+ // prefer to use the managed instance if it has been annotated with Spring JMX annotations
+ if (obj instanceof ManagedInstance) {
+ Object custom = ((ManagedInstance) obj).getInstance();
+ if (ObjectHelper.hasAnnotation(custom.getClass().getAnnotations(), ManagedResource.class)) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Assembling MBeanInfo for: " + name.toString() + " from custom @ManagedResource object: " + custom);
+ }
+ // get the mbean info from the custom managed object
+ mbi = assembler.getMBeanInfo(custom, name.toString());
+ // and let the custom object be registered in JMX
+ obj = custom;
+ }
+ }
- if (obj instanceof ManagedCustomProcessor) {
- Object custom = ((ManagedCustomProcessor) obj).getManagedObject();
- // get the mbean info from the custom managed object
- mbi = assembler.getMBeanInfo(custom, name.toString());
- // and let the custom object be registered in JMX
- obj = custom;
- } else {
+ if (mbi == null) {
+ // use the default provided mbean which has been annotated with Spring JMX annotations
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Assembling MBeanInfo for: " + name.toString() + " from @ManagedResource object: " + obj);
+ }
mbi = assembler.getMBeanInfo(obj, name.toString());
}
@@ -63,8 +79,8 @@ public class JmxMBeanAssembler {
try {
mbean.setManagedResource(obj, "ObjectReference");
- } catch (InvalidTargetObjectTypeException itotex) {
- throw new JMException(itotex.getMessage());
+ } catch (InvalidTargetObjectTypeException e) {
+ throw new JMException(e.getMessage());
}
return mbean;
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java Tue Dec 7 09:48:52 2010
@@ -32,8 +32,7 @@ import org.springframework.jmx.export.an
*/
@ManagedResource(description = "Managed CamelContext")
public class ManagedCamelContext {
-
- private CamelContext context;
+ private final CamelContext context;
public ManagedCamelContext(CamelContext context) {
this.context = context;
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedComponent.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedComponent.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedComponent.java Tue Dec 7 09:48:52 2010
@@ -27,10 +27,9 @@ import org.springframework.jmx.export.an
* @version $Revision$
*/
@ManagedResource(description = "Managed Component")
-public class ManagedComponent {
-
- private Component component;
- private String name;
+public class ManagedComponent implements ManagedInstance {
+ private final Component component;
+ private final String name;
public ManagedComponent(String name, Component component) {
this.name = name;
@@ -71,4 +70,7 @@ public class ManagedComponent {
return component.getCamelContext().getName();
}
+ public Object getInstance() {
+ return component;
+ }
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedConsumer.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedConsumer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedConsumer.java Tue Dec 7 09:48:52 2010
@@ -26,7 +26,6 @@ import org.springframework.jmx.export.an
*/
@ManagedResource(description = "Managed Consumer")
public class ManagedConsumer extends ManagedService {
-
private final Consumer consumer;
public ManagedConsumer(CamelContext context, Consumer consumer) {
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCounter.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCounter.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCounter.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCounter.java Tue Dec 7 09:48:52 2010
@@ -24,7 +24,6 @@ import org.springframework.jmx.export.an
@ManagedResource(description = "Managed Counter")
public abstract class ManagedCounter {
-
protected Statistic exchangesTotal;
public void init(ManagementStrategy strategy) {
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDelayer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDelayer.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDelayer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDelayer.java Tue Dec 7 09:48:52 2010
@@ -30,8 +30,7 @@ import org.springframework.jmx.export.an
*/
@ManagedResource(description = "Managed Delayer")
public class ManagedDelayer extends ManagedProcessor {
-
- private Delayer delayer;
+ private final Delayer delayer;
public ManagedDelayer(CamelContext context, Delayer delayer, ProcessorDefinition<?> definition) {
super(context, delayer, definition);
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpoint.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpoint.java Tue Dec 7 09:48:52 2010
@@ -22,9 +22,8 @@ import org.springframework.jmx.export.an
import org.springframework.jmx.export.annotation.ManagedResource;
@ManagedResource(description = "Managed Endpoint")
-public class ManagedEndpoint {
-
- private Endpoint endpoint;
+public class ManagedEndpoint implements ManagedInstance {
+ private final Endpoint endpoint;
public ManagedEndpoint(Endpoint endpoint) {
this.endpoint = endpoint;
@@ -52,4 +51,8 @@ public class ManagedEndpoint {
public boolean isSingleton() {
return endpoint.isSingleton();
}
+
+ public Object getInstance() {
+ return endpoint;
+ }
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java Tue Dec 7 09:48:52 2010
@@ -31,10 +31,9 @@ import org.springframework.jmx.export.an
*/
@ManagedResource(description = "Managed ErrorHandler")
public class ManagedErrorHandler {
-
- private RouteContext routeContext;
- private Processor errorHandler;
- private ErrorHandlerBuilder errorHandlerBuilder;
+ private final RouteContext routeContext;
+ private final Processor errorHandler;
+ private final ErrorHandlerBuilder errorHandlerBuilder;
public ManagedErrorHandler(RouteContext routeContext, Processor errorHandler, ErrorHandlerBuilder builder) {
this.routeContext = routeContext;
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEventNotifier.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEventNotifier.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEventNotifier.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEventNotifier.java Tue Dec 7 09:48:52 2010
@@ -30,9 +30,8 @@ import org.apache.camel.spi.ManagementSt
* @version $Revision$
*/
public class ManagedEventNotifier extends NotificationBroadcasterSupport implements ManagedEventNotifierMBean {
-
- private CamelContext context;
- private EventNotifier eventNotifier;
+ private final CamelContext context;
+ private final EventNotifier eventNotifier;
public ManagedEventNotifier(CamelContext context, EventNotifier eventNotifier) {
this.context = context;
Added: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedInstance.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedInstance.java?rev=1042949&view=auto
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedInstance.java (added)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedInstance.java Tue Dec 7 09:48:52 2010
@@ -0,0 +1,31 @@
+/**
+ * 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;
+
+/**
+ * @version $Revision$
+ */
+public interface ManagedInstance {
+
+ /**
+ * Gets the resource which is being managed.
+ *
+ * @return the resource, such as a {@link org.apache.camel.Processor}, {@link org.apache.camel.Consumer} etc.
+ */
+ Object getInstance();
+
+}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedPerformanceCounter.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedPerformanceCounter.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedPerformanceCounter.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedPerformanceCounter.java Tue Dec 7 09:48:52 2010
@@ -27,7 +27,6 @@ import org.springframework.jmx.export.an
@ManagedResource(description = "PerformanceCounter")
public abstract class ManagedPerformanceCounter extends ManagedCounter implements PerformanceCounter {
-
private Statistic exchangesCompleted;
private Statistic exchangesFailed;
private Statistic minProcessingTime;
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java Tue Dec 7 09:48:52 2010
@@ -32,7 +32,7 @@ import org.springframework.jmx.export.an
* @version $Revision$
*/
@ManagedResource(description = "Managed Processor")
-public class ManagedProcessor extends ManagedPerformanceCounter {
+public class ManagedProcessor extends ManagedPerformanceCounter implements ManagedInstance {
private final CamelContext context;
private final Processor processor;
@@ -120,4 +120,7 @@ public class ManagedProcessor extends Ma
ServiceHelper.stopService(getProcessor());
}
+ public Object getInstance() {
+ return processor;
+ }
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProducer.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProducer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProducer.java Tue Dec 7 09:48:52 2010
@@ -26,8 +26,7 @@ import org.springframework.jmx.export.an
*/
@ManagedResource(description = "Managed Producer")
public class ManagedProducer extends ManagedService {
-
- private Producer producer;
+ private final Producer producer;
public ManagedProducer(CamelContext context, Producer producer) {
super(context, producer);
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProducerCache.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProducerCache.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProducerCache.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProducerCache.java Tue Dec 7 09:48:52 2010
@@ -26,7 +26,6 @@ import org.springframework.jmx.export.an
*/
@ManagedResource(description = "Managed ProducerCache")
public class ManagedProducerCache extends ManagedService {
-
private final ProducerCache producerCache;
public ManagedProducerCache(CamelContext context, ProducerCache producerCache) {
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java Tue Dec 7 09:48:52 2010
@@ -31,11 +31,10 @@ import org.springframework.jmx.export.an
@ManagedResource(description = "Managed Route")
public class ManagedRoute extends ManagedPerformanceCounter {
-
public static final String VALUE_UNKNOWN = "Unknown";
- protected Route route;
- protected String description;
- protected CamelContext context;
+ protected final Route route;
+ protected final String description;
+ protected final CamelContext context;
public ManagedRoute(CamelContext context, Route route) {
this.route = route;
Modified: 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=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java Tue Dec 7 09:48:52 2010
@@ -28,8 +28,7 @@ import org.springframework.jmx.export.an
*/
@ManagedResource(description = "Managed Scheduled Polling Consumer")
public class ManagedScheduledPollConsumer extends ManagedConsumer {
-
- private ScheduledPollConsumer consumer;
+ private final ScheduledPollConsumer consumer;
public ManagedScheduledPollConsumer(CamelContext context, ScheduledPollConsumer consumer) {
super(context, consumer);
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java Tue Dec 7 09:48:52 2010
@@ -29,8 +29,7 @@ import org.springframework.jmx.export.an
*/
@ManagedResource(description = "Managed SendProcessor")
public class ManagedSendProcessor extends ManagedProcessor {
-
- private SendProcessor processor;
+ private final SendProcessor processor;
public ManagedSendProcessor(CamelContext context, SendProcessor processor, ProcessorDefinition<?> definition) {
super(context, processor, definition);
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java Tue Dec 7 09:48:52 2010
@@ -28,10 +28,9 @@ import org.springframework.jmx.export.an
import org.springframework.jmx.export.annotation.ManagedResource;
@ManagedResource(description = "Managed Service")
-public class ManagedService {
-
- private CamelContext context;
- private Service service;
+public class ManagedService implements ManagedInstance {
+ private final CamelContext context;
+ private final Service service;
private Route route;
public ManagedService(CamelContext context, Service service) {
@@ -145,4 +144,7 @@ public class ManagedService {
}
}
+ public Object getInstance() {
+ return service;
+ }
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottler.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottler.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottler.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottler.java Tue Dec 7 09:48:52 2010
@@ -27,8 +27,7 @@ import org.springframework.jmx.export.an
*/
@ManagedResource(description = "Managed Throttler")
public class ManagedThrottler extends ManagedProcessor {
-
- private Throttler throttler;
+ private final Throttler throttler;
public ManagedThrottler(CamelContext context, Throttler throttler, ProcessorDefinition<?> definition) {
super(context, throttler, definition);
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottlingInflightRoutePolicy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottlingInflightRoutePolicy.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottlingInflightRoutePolicy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottlingInflightRoutePolicy.java Tue Dec 7 09:48:52 2010
@@ -27,7 +27,6 @@ import org.springframework.jmx.export.an
*/
@ManagedResource(description = "Managed ThrottlingInflightRoutePolicy")
public class ManagedThrottlingInflightRoutePolicy extends ManagedService {
-
private final ThrottlingInflightRoutePolicy policy;
public ManagedThrottlingInflightRoutePolicy(CamelContext context, ThrottlingInflightRoutePolicy policy) {
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=1042949&r1=1042948&r2=1042949&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 Tue Dec 7 09:48:52 2010
@@ -29,7 +29,6 @@ import org.springframework.jmx.export.an
*/
@ManagedResource(description = "Managed Tracer")
public class ManagedTracer {
-
private final CamelContext camelContext;
private final Tracer tracer;
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ManagementAware.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ManagementAware.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ManagementAware.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ManagementAware.java Tue Dec 7 09:48:52 2010
@@ -23,11 +23,15 @@ package org.apache.camel.spi;
* For example various Camel components will implement this interface to provide
* management to their endpoints and consumers.
* <p/>
- * Camel will by default use generic management objects if objects do not implement
- * this interface. These defaults are located in <tt>org.apache.camel.management.mbean</tt>.
+ * A popular choice is to use Spring JMX annotations to decorate your object to pinpoint
+ * the JMX attributes and operations. If you do this then you do <b>not</b> need to use
+ * this interface. This interface is only if you need to be in full control of the MBean
+ * and therefore can return a {@link javax.management.MBeanInfo} object.
*
* @version $Revision$
+ * @deprecated use Spring JMX annotations
*/
+@Deprecated
public interface ManagementAware<T> {
/**
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java Tue Dec 7 09:48:52 2010
@@ -1003,8 +1003,7 @@ public final class ObjectHelper {
}
/**
- * Returns true if the given collection of annotations matches the given
- * type
+ * Returns true if the given collection of annotations matches the given type
*/
public static boolean hasAnnotation(Annotation[] annotations, Class<?> type) {
for (Annotation annotation : annotations) {
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedCustomProcessorTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedCustomProcessorTest.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedCustomProcessorTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedCustomProcessorTest.java Tue Dec 7 09:48:52 2010
@@ -25,7 +25,6 @@ import org.apache.camel.ContextTestSuppo
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.spi.ManagementAware;
import org.springframework.jmx.export.annotation.ManagedAttribute;
import org.springframework.jmx.export.annotation.ManagedResource;
@@ -84,16 +83,10 @@ public class ManagedCustomProcessorTest
}
// START SNIPPET: e1
- @ManagedResource
- public static class MyCustomProcessor implements ManagementAware<Processor>, Processor {
+ @ManagedResource("My Managed Component")
+ public static class MyCustomProcessor implements Processor {
private String foo = "hey";
- public Object getManagedObject(Processor object) {
- // just return this as we use Spring JMX annotations to define which attributes/operations
- // to be enlisted in JMX
- return this;
- }
-
@ManagedAttribute
public String getFoo() {
return foo;
Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java (original)
+++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java Tue Dec 7 09:48:52 2010
@@ -44,7 +44,6 @@ import org.apache.camel.impl.DefaultExch
import org.apache.camel.impl.SynchronousDelegateProducer;
import org.apache.camel.spi.HeaderFilterStrategy;
import org.apache.camel.spi.HeaderFilterStrategyAware;
-import org.apache.camel.spi.ManagementAware;
import org.apache.camel.util.ServiceHelper;
import org.springframework.core.task.TaskExecutor;
import org.springframework.jms.core.JmsOperations;
@@ -61,7 +60,7 @@ import org.springframework.transaction.P
* @version $Revision:520964 $
*/
@ManagedResource(description = "Managed JMS Endpoint")
-public class JmsEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware, ManagementAware<JmsEndpoint>, MultipleConsumersSupport, Service {
+public class JmsEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware, MultipleConsumersSupport, Service {
private HeaderFilterStrategy headerFilterStrategy;
private boolean pubSubDomain;
private JmsBinding binding;
@@ -217,10 +216,6 @@ public class JmsEndpoint extends Default
return configuration.createInOutTemplate(this, pubSubDomain, destinationName, configuration.getRequestTimeout());
}
- public Object getManagedObject(JmsEndpoint endpoint) {
- return this;
- }
-
public boolean isMultipleConsumersSupported() {
// only allow multiple consumers for pub sub domain (e.g. topics)
return isPubSubDomain();
Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsTemporaryQueueEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsTemporaryQueueEndpoint.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsTemporaryQueueEndpoint.java (original)
+++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsTemporaryQueueEndpoint.java Tue Dec 7 09:48:52 2010
@@ -61,12 +61,6 @@ public class JmsTemporaryQueueEndpoint e
return true;
}
- @Override
- public Object getManagedObject(JmsEndpoint object) {
- // We don't want to manage this temporary object, so return null
- return null;
- }
-
public synchronized Destination getJmsDestination(Session session) throws JMSException {
if (jmsDestination == null) {
jmsDestination = createJmsDestination(session);
Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsTemporaryTopicEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsTemporaryTopicEndpoint.java?rev=1042949&r1=1042948&r2=1042949&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsTemporaryTopicEndpoint.java (original)
+++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsTemporaryTopicEndpoint.java Tue Dec 7 09:48:52 2010
@@ -56,12 +56,6 @@ public class JmsTemporaryTopicEndpoint e
return true;
}
- @Override
- public Object getManagedObject(JmsEndpoint object) {
- // We don't want to manage this temporary object
- return null;
- }
-
public synchronized Destination getJmsDestination(Session session) throws JMSException {
if (jmsDestination == null) {
jmsDestination = createJmsDestination(session);