Repository: camel
Updated Branches:
  refs/heads/master 93d21ff8f -> 2b67dce34


CAMEL-9395: Reduce the number of default services registered in JMX


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/7c025036
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/7c025036
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/7c025036

Branch: refs/heads/master
Commit: 7c0250367a264e1d64d5b5ac77d73d4488412321
Parents: 93d21ff
Author: Claus Ibsen <[email protected]>
Authored: Sat Dec 5 17:56:38 2015 +0100
Committer: Claus Ibsen <[email protected]>
Committed: Sat Dec 5 17:56:38 2015 +0100

----------------------------------------------------------------------
 .../org/apache/camel/NonManagedService.java     | 23 ++++++++++++++++++++
 .../impl/DefaultPackageScanClassResolver.java   |  3 ++-
 .../impl/SharedPollingConsumerServicePool.java  |  3 ++-
 .../camel/impl/SharedProducerServicePool.java   |  3 ++-
 .../impl/ThrottlingInflightRoutePolicy.java     |  3 ++-
 .../DefaultManagementLifecycleStrategy.java     |  6 +++++
 .../camel/management/ManagedLoadTimer.java      |  3 ++-
 .../camel/support/TimerListenerManager.java     |  1 +
 .../MetricsMessageHistoryFactory.java           |  3 ++-
 .../metrics/routepolicy/MetricsRoutePolicy.java |  3 ++-
 10 files changed, 44 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/7c025036/camel-core/src/main/java/org/apache/camel/NonManagedService.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/NonManagedService.java 
b/camel-core/src/main/java/org/apache/camel/NonManagedService.java
new file mode 100644
index 0000000..37a7ed7
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/NonManagedService.java
@@ -0,0 +1,23 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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;
+
+/**
+ * A marker to indicate the {@link Service} should not be registered in JMX 
for management.
+ */
+public interface NonManagedService {
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/7c025036/camel-core/src/main/java/org/apache/camel/impl/DefaultPackageScanClassResolver.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/impl/DefaultPackageScanClassResolver.java
 
b/camel-core/src/main/java/org/apache/camel/impl/DefaultPackageScanClassResolver.java
index 0427a43..aba0330 100644
--- 
a/camel-core/src/main/java/org/apache/camel/impl/DefaultPackageScanClassResolver.java
+++ 
b/camel-core/src/main/java/org/apache/camel/impl/DefaultPackageScanClassResolver.java
@@ -37,6 +37,7 @@ import java.util.Set;
 import java.util.jar.JarEntry;
 import java.util.jar.JarInputStream;
 
+import org.apache.camel.NonManagedService;
 import org.apache.camel.StaticService;
 import org.apache.camel.impl.scan.AnnotatedWithAnyPackageScanFilter;
 import org.apache.camel.impl.scan.AnnotatedWithPackageScanFilter;
@@ -54,7 +55,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Default implement of {@link org.apache.camel.spi.PackageScanClassResolver}
  */
-public class DefaultPackageScanClassResolver extends ServiceSupport implements 
PackageScanClassResolver, StaticService {
+public class DefaultPackageScanClassResolver extends ServiceSupport implements 
PackageScanClassResolver, StaticService, NonManagedService {
 
     protected final Logger log = LoggerFactory.getLogger(getClass());
     private final Set<ClassLoader> classLoaders = new 
LinkedHashSet<ClassLoader>();

http://git-wip-us.apache.org/repos/asf/camel/blob/7c025036/camel-core/src/main/java/org/apache/camel/impl/SharedPollingConsumerServicePool.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/impl/SharedPollingConsumerServicePool.java
 
b/camel-core/src/main/java/org/apache/camel/impl/SharedPollingConsumerServicePool.java
index 7478a14..1205a74 100644
--- 
a/camel-core/src/main/java/org/apache/camel/impl/SharedPollingConsumerServicePool.java
+++ 
b/camel-core/src/main/java/org/apache/camel/impl/SharedPollingConsumerServicePool.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.impl;
 
+import org.apache.camel.NonManagedService;
 import org.apache.camel.ShutdownableService;
 import org.apache.camel.StaticService;
 
@@ -25,7 +26,7 @@ import org.apache.camel.StaticService;
  *
  * @version 
  */
-public class SharedPollingConsumerServicePool extends 
DefaultPollingConsumerServicePool implements ShutdownableService, StaticService 
{
+public class SharedPollingConsumerServicePool extends 
DefaultPollingConsumerServicePool implements ShutdownableService, 
StaticService, NonManagedService {
 
     public SharedPollingConsumerServicePool() {
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7c025036/camel-core/src/main/java/org/apache/camel/impl/SharedProducerServicePool.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/impl/SharedProducerServicePool.java 
b/camel-core/src/main/java/org/apache/camel/impl/SharedProducerServicePool.java
index 16313eb..3596808 100644
--- 
a/camel-core/src/main/java/org/apache/camel/impl/SharedProducerServicePool.java
+++ 
b/camel-core/src/main/java/org/apache/camel/impl/SharedProducerServicePool.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.impl;
 
+import org.apache.camel.NonManagedService;
 import org.apache.camel.ShutdownableService;
 import org.apache.camel.StaticService;
 
@@ -25,7 +26,7 @@ import org.apache.camel.StaticService;
  *
  * @version 
  */
-public class SharedProducerServicePool extends DefaultProducerServicePool 
implements ShutdownableService, StaticService {
+public class SharedProducerServicePool extends DefaultProducerServicePool 
implements ShutdownableService, StaticService, NonManagedService {
 
     public SharedProducerServicePool() {
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7c025036/camel-core/src/main/java/org/apache/camel/impl/ThrottlingInflightRoutePolicy.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/impl/ThrottlingInflightRoutePolicy.java
 
b/camel-core/src/main/java/org/apache/camel/impl/ThrottlingInflightRoutePolicy.java
index a0a1914..6250e96 100644
--- 
a/camel-core/src/main/java/org/apache/camel/impl/ThrottlingInflightRoutePolicy.java
+++ 
b/camel-core/src/main/java/org/apache/camel/impl/ThrottlingInflightRoutePolicy.java
@@ -27,6 +27,7 @@ import org.apache.camel.CamelContextAware;
 import org.apache.camel.Consumer;
 import org.apache.camel.Exchange;
 import org.apache.camel.LoggingLevel;
+import org.apache.camel.NonManagedService;
 import org.apache.camel.Route;
 import org.apache.camel.management.event.ExchangeCompletedEvent;
 import org.apache.camel.support.EventNotifierSupport;
@@ -49,7 +50,7 @@ import org.slf4j.LoggerFactory;
  *
  * @version 
  */
-public class ThrottlingInflightRoutePolicy extends RoutePolicySupport 
implements CamelContextAware {
+public class ThrottlingInflightRoutePolicy extends RoutePolicySupport 
implements CamelContextAware, NonManagedService {
 
     public enum ThrottlingScope {
         Context, Route

http://git-wip-us.apache.org/repos/asf/camel/blob/7c025036/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
 
b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
index 1c52d2a..34c8d5e 100644
--- 
a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
+++ 
b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
@@ -37,6 +37,7 @@ import org.apache.camel.Consumer;
 import org.apache.camel.Endpoint;
 import org.apache.camel.ErrorHandlerFactory;
 import org.apache.camel.ManagementStatisticsLevel;
+import org.apache.camel.NonManagedService;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.Route;
@@ -416,6 +417,11 @@ public class DefaultManagementLifecycleStrategy extends 
ServiceSupport implement
             return null;
         }
 
+        // skip non managed services
+        if (service instanceof NonManagedService) {
+            return null;
+        }
+
         Object answer = null;
 
         if (service instanceof ManagementAware) {

http://git-wip-us.apache.org/repos/asf/camel/blob/7c025036/camel-core/src/main/java/org/apache/camel/management/ManagedLoadTimer.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/management/ManagedLoadTimer.java 
b/camel-core/src/main/java/org/apache/camel/management/ManagedLoadTimer.java
index 0e487c7..a5dd990 100644
--- a/camel-core/src/main/java/org/apache/camel/management/ManagedLoadTimer.java
+++ b/camel-core/src/main/java/org/apache/camel/management/ManagedLoadTimer.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.management;
 
+import org.apache.camel.NonManagedService;
 import org.apache.camel.support.TimerListenerManager;
 
 /**
@@ -24,7 +25,7 @@ import org.apache.camel.support.TimerListenerManager;
  * From Camel 2.13 onwards the {@link ManagedLoadTimer} is only enabled if
  * {@link org.apache.camel.spi.ManagementStrategy#isLoadStatisticsEnabled()} 
is enabled.
  */
-public class ManagedLoadTimer extends TimerListenerManager {
+public class ManagedLoadTimer extends TimerListenerManager implements 
NonManagedService {
 
     // empty on purpose
 

http://git-wip-us.apache.org/repos/asf/camel/blob/7c025036/camel-core/src/main/java/org/apache/camel/support/TimerListenerManager.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/support/TimerListenerManager.java 
b/camel-core/src/main/java/org/apache/camel/support/TimerListenerManager.java
index ae489c7..d018048 100644
--- 
a/camel-core/src/main/java/org/apache/camel/support/TimerListenerManager.java
+++ 
b/camel-core/src/main/java/org/apache/camel/support/TimerListenerManager.java
@@ -24,6 +24,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
+import org.apache.camel.NonManagedService;
 import org.apache.camel.StaticService;
 import org.apache.camel.TimerListener;
 import org.apache.camel.util.ObjectHelper;

http://git-wip-us.apache.org/repos/asf/camel/blob/7c025036/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryFactory.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryFactory.java
 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryFactory.java
index 274ab14..c738af5 100644
--- 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryFactory.java
+++ 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryFactory.java
@@ -25,6 +25,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.MessageHistory;
 import org.apache.camel.NamedNode;
+import org.apache.camel.NonManagedService;
 import org.apache.camel.StaticService;
 import org.apache.camel.spi.MessageHistoryFactory;
 import org.apache.camel.support.ServiceSupport;
@@ -33,7 +34,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * A factory to setup and use {@link MetricsMessageHistory} as message history 
implementation.
  */
-public class MetricsMessageHistoryFactory extends ServiceSupport implements 
CamelContextAware, StaticService, MessageHistoryFactory {
+public class MetricsMessageHistoryFactory extends ServiceSupport implements 
CamelContextAware, StaticService, NonManagedService, MessageHistoryFactory {
 
     private CamelContext camelContext;
     private MetricsMessageHistoryService messageHistoryService;

http://git-wip-us.apache.org/repos/asf/camel/blob/7c025036/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
index c921e83..bb6c1e9 100644
--- 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
+++ 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
@@ -22,6 +22,7 @@ import com.codahale.metrics.MetricRegistry;
 import com.codahale.metrics.Timer;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
+import org.apache.camel.NonManagedService;
 import org.apache.camel.Route;
 import org.apache.camel.support.RoutePolicySupport;
 import org.apache.camel.util.ObjectHelper;
@@ -31,7 +32,7 @@ import org.apache.camel.util.ObjectHelper;
  * <p/>
  * The metrics is reported in JMX by default, but this can be configured.
  */
-public class MetricsRoutePolicy extends RoutePolicySupport {
+public class MetricsRoutePolicy extends RoutePolicySupport implements 
NonManagedService {
 
     private MetricRegistry metricsRegistry;
     private MetricsRegistryService registryService;

Reply via email to