CAMEL-6564: JMX services which is single (only one instance per camel) should 
used fixed MBean name


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

Branch: refs/heads/master
Commit: df4b8bb3c1b8ebaa43d0809fa03ad5b6a7d04980
Parents: 577c61b
Author: Claus Ibsen <davscl...@apache.org>
Authored: Wed Jul 24 12:25:16 2013 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Wed Jul 24 12:25:16 2013 +0200

----------------------------------------------------------------------
 .../java/org/apache/camel/StaticService.java    | 23 ++++++++++++++++++++
 .../management/mbean/ManagedServiceMBean.java   |  3 +++
 .../impl/DefaultExecutorServiceManager.java     | 10 +++++++--
 .../impl/DefaultPackageScanClassResolver.java   |  3 ++-
 .../org/apache/camel/impl/EndpointRegistry.java |  4 ++--
 .../camel/impl/SharedProducerServicePool.java   |  3 ++-
 .../DefaultManagementNamingStrategy.java        | 18 +++++----------
 .../management/ManagedManagementStrategy.java   |  6 +----
 .../mbean/ManagedEndpointRegistry.java          |  1 -
 .../camel/management/mbean/ManagedService.java  |  6 ++---
 .../mbean/ManagedStreamCachingStrategy.java     |  1 -
 .../mbean/ManagedTypeConverterRegistry.java     |  1 -
 .../camel/spi/ExecutorServiceManager.java       |  3 ++-
 .../apache/camel/spi/InflightRepository.java    |  4 ++--
 .../camel/spi/ManagementNamingStrategy.java     |  2 --
 .../org/apache/camel/spi/ShutdownStrategy.java  |  3 ++-
 .../apache/camel/spi/StreamCachingStrategy.java |  4 ++--
 .../apache/camel/spi/TypeConverterRegistry.java |  4 ++--
 .../camel/support/TimerListenerManager.java     |  3 ++-
 19 files changed, 61 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/StaticService.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/StaticService.java 
b/camel-core/src/main/java/org/apache/camel/StaticService.java
new file mode 100644
index 0000000..53b4638
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/StaticService.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
+ *
+ *      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;
+
+/**
+ * Marker for indicating the {@link Service} is a static service (only one 
instance per {@link CamelContext}).
+ */
+public interface StaticService extends Service {
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedServiceMBean.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedServiceMBean.java
 
b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedServiceMBean.java
index 729f9b1..7f04c84 100644
--- 
a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedServiceMBean.java
+++ 
b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedServiceMBean.java
@@ -42,6 +42,9 @@ public interface ManagedServiceMBean {
     @ManagedAttribute(description = "Whether this service supports suspension")
     boolean isSupportSuspension();
 
+    @ManagedAttribute(description = "Whether this service is static")
+    boolean isStaticService();
+
     @ManagedAttribute(description = "Whether this service is suspended")
     boolean isSuspended();
 

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceManager.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceManager.java
 
b/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceManager.java
index d8bd891..dd8797d 100644
--- 
a/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceManager.java
+++ 
b/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceManager.java
@@ -31,6 +31,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.NamedNode;
+import org.apache.camel.StaticService;
 import org.apache.camel.ThreadPoolRejectedPolicy;
 import org.apache.camel.model.OptionalIdentifiedDefinition;
 import org.apache.camel.model.ProcessorDefinition;
@@ -502,8 +503,13 @@ public class DefaultExecutorServiceManager extends 
ServiceSupport implements Exe
         } else if (source instanceof String) {
             id = (String) source;
         } else if (source != null) {
-            // fallback and use the simple class name with hashcode for the id 
so its unique for this given source
-            id = source.getClass().getSimpleName() + "(" + 
ObjectHelper.getIdentityHashCode(source) + ")";
+            if (source instanceof StaticService) {
+                // the source is static service so its name would be unique
+                id = source.getClass().getSimpleName();
+            } else {
+                // fallback and use the simple class name with hashcode for 
the id so its unique for this given source
+                id = source.getClass().getSimpleName() + "(" + 
ObjectHelper.getIdentityHashCode(source) + ")";
+            }
         } else {
             // no source, so fallback and use the simple class name from 
thread pool and its hashcode identity so its unique
             id = executorService.getClass().getSimpleName() + "(" + 
ObjectHelper.getIdentityHashCode(executorService) + ")";

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/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 485ea17..c326f6d 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.StaticService;
 import org.apache.camel.impl.scan.AnnotatedWithAnyPackageScanFilter;
 import org.apache.camel.impl.scan.AnnotatedWithPackageScanFilter;
 import org.apache.camel.impl.scan.AssignableToPackageScanFilter;
@@ -54,7 +55,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Default implement of {@link org.apache.camel.spi.PackageScanClassResolver}
  */
-public class DefaultPackageScanClassResolver extends ServiceSupport implements 
PackageScanClassResolver {
+public class DefaultPackageScanClassResolver extends ServiceSupport implements 
PackageScanClassResolver, StaticService {
 
     protected final transient Logger log = LoggerFactory.getLogger(getClass());
     private final Set<ClassLoader> classLoaders = new 
LinkedHashSet<ClassLoader>();

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/impl/EndpointRegistry.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/impl/EndpointRegistry.java 
b/camel-core/src/main/java/org/apache/camel/impl/EndpointRegistry.java
index 8440af8..6f4e6d7 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/EndpointRegistry.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/EndpointRegistry.java
@@ -20,7 +20,7 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
-import org.apache.camel.Service;
+import org.apache.camel.StaticService;
 import org.apache.camel.util.CamelContextHelper;
 import org.apache.camel.util.LRUSoftCache;
 import org.apache.camel.util.ServiceHelper;
@@ -30,7 +30,7 @@ import org.apache.camel.util.ServiceHelper;
  * <p/>
  * We use a soft reference cache to allow the JVM to re-claim memory if it 
runs low on memory.
  */
-public class EndpointRegistry extends LRUSoftCache<EndpointKey, Endpoint> 
implements Service {
+public class EndpointRegistry extends LRUSoftCache<EndpointKey, Endpoint> 
implements StaticService {
     private static final long serialVersionUID = 1L;
     private final CamelContext context;
 

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/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 fa567f7..16313eb 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
@@ -17,6 +17,7 @@
 package org.apache.camel.impl;
 
 import org.apache.camel.ShutdownableService;
+import org.apache.camel.StaticService;
 
 /**
  * A shared {@link org.apache.camel.impl.DefaultProducerServicePool} which is 
used by
@@ -24,7 +25,7 @@ import org.apache.camel.ShutdownableService;
  *
  * @version 
  */
-public class SharedProducerServicePool extends DefaultProducerServicePool 
implements ShutdownableService {
+public class SharedProducerServicePool extends DefaultProducerServicePool 
implements ShutdownableService, StaticService {
 
     public SharedProducerServicePool() {
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java
 
b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java
index 368ea4f..18fe1a6 100644
--- 
a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java
+++ 
b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java
@@ -31,6 +31,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.Route;
 import org.apache.camel.Service;
+import org.apache.camel.StaticService;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.spi.EventNotifier;
 import org.apache.camel.spi.InterceptStrategy;
@@ -245,19 +246,10 @@ public class DefaultManagementNamingStrategy implements 
ManagementNamingStrategy
         buffer.append(domainName).append(":");
         buffer.append(KEY_CONTEXT + 
"=").append(getContextId(context)).append(",");
         buffer.append(KEY_TYPE + "=" + TYPE_SERVICE + ",");
-        buffer.append(KEY_NAME + "=")
-            .append(service.getClass().getSimpleName())
-            
.append("(").append(ObjectHelper.getIdentityHashCode(service)).append(")");
-        return createObjectName(buffer);
-    }
-
-    public ObjectName getObjectNameForSingleService(CamelContext context, 
Service service) throws MalformedObjectNameException {
-        StringBuilder buffer = new StringBuilder();
-        buffer.append(domainName).append(":");
-        buffer.append(KEY_CONTEXT + 
"=").append(getContextId(context)).append(",");
-        buffer.append(KEY_TYPE + "=" + TYPE_SERVICE + ",");
-        buffer.append(KEY_NAME + "=")
-            .append(service.getClass().getSimpleName());
+        buffer.append(KEY_NAME + 
"=").append(service.getClass().getSimpleName());
+        if (!(service instanceof StaticService)) {
+            
buffer.append("(").append(ObjectHelper.getIdentityHashCode(service)).append(")");
+        }
         return createObjectName(buffer);
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java
 
b/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java
index ea0168e..c16e5c1 100644
--- 
a/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java
+++ 
b/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java
@@ -133,11 +133,7 @@ public class ManagedManagementStrategy extends 
DefaultManagementStrategy {
             if (ms.getService() instanceof Endpoint) {
                 return null;
             }
-            if (ms.isSingle()) {
-                objectName = 
getManagementNamingStrategy().getObjectNameForSingleService(ms.getContext(), 
ms.getService());
-            } else {
-                objectName = 
getManagementNamingStrategy().getObjectNameForService(ms.getContext(), 
ms.getService());
-            }
+            objectName = 
getManagementNamingStrategy().getObjectNameForService(ms.getContext(), 
ms.getService());
         }
 
         return nameType.cast(objectName);

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpointRegistry.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpointRegistry.java
 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpointRegistry.java
index 46758ad..80cd79d 100644
--- 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpointRegistry.java
+++ 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpointRegistry.java
@@ -31,7 +31,6 @@ public class ManagedEndpointRegistry extends ManagedService 
implements ManagedEn
     public ManagedEndpointRegistry(CamelContext context, EndpointRegistry 
endpointRegistry) {
         super(context, endpointRegistry);
         this.endpointRegistry = endpointRegistry;
-        this.single = true;
     }
 
     public EndpointRegistry getEndpointRegistry() {

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java
 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java
index ec2f891..1eb11b7 100644
--- 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java
+++ 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java
@@ -21,6 +21,7 @@ import org.apache.camel.Route;
 import org.apache.camel.Service;
 import org.apache.camel.ServiceStatus;
 import org.apache.camel.StatefulService;
+import org.apache.camel.StaticService;
 import org.apache.camel.SuspendableService;
 import org.apache.camel.api.management.ManagedInstance;
 import org.apache.camel.api.management.ManagedResource;
@@ -32,7 +33,6 @@ public class ManagedService implements ManagedInstance, 
ManagedServiceMBean {
     private final CamelContext context;
     private final Service service;
     private Route route;
-    protected boolean single;
 
     public ManagedService(CamelContext context, Service service) {
         this.context = context;
@@ -43,8 +43,8 @@ public class ManagedService implements ManagedInstance, 
ManagedServiceMBean {
         // do nothing
     }
 
-    public boolean isSingle() {
-        return single;
+    public boolean isStaticService() {
+        return service instanceof StaticService;
     }
 
     public Service getService() {

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java
 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java
index 5fec257..b57a010 100644
--- 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java
+++ 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java
@@ -32,7 +32,6 @@ public class ManagedStreamCachingStrategy extends 
ManagedService implements Mana
         super(camelContext, streamCachingStrategy);
         this.camelContext = camelContext;
         this.streamCachingStrategy = streamCachingStrategy;
-        this.single = true;
     }
 
     public void init(ManagementStrategy strategy) {

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java
 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java
index e808493..55af467 100644
--- 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java
+++ 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java
@@ -32,7 +32,6 @@ public class ManagedTypeConverterRegistry extends 
ManagedService implements Mana
     public ManagedTypeConverterRegistry(CamelContext context, 
TypeConverterRegistry registry) {
         super(context, registry);
         this.registry = registry;
-        this.single = true;
     }
 
     public TypeConverterRegistry getRegistry() {

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/spi/ExecutorServiceManager.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/spi/ExecutorServiceManager.java 
b/camel-core/src/main/java/org/apache/camel/spi/ExecutorServiceManager.java
index 28cce20..0f0f929 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/ExecutorServiceManager.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/ExecutorServiceManager.java
@@ -21,6 +21,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ScheduledExecutorService;
 
 import org.apache.camel.ShutdownableService;
+import org.apache.camel.StaticService;
 
 /**
  * Strategy to create thread pools.
@@ -50,7 +51,7 @@ import org.apache.camel.ShutdownableService;
  *
  * @see ThreadPoolFactory
  */
-public interface ExecutorServiceManager extends ShutdownableService {
+public interface ExecutorServiceManager extends ShutdownableService, 
StaticService {
 
     /**
      * Gets the {@link ThreadPoolFactory} to use for creating the thread pools.

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/spi/InflightRepository.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/spi/InflightRepository.java 
b/camel-core/src/main/java/org/apache/camel/spi/InflightRepository.java
index 018cfa9..cf22cfa 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/InflightRepository.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/InflightRepository.java
@@ -18,14 +18,14 @@ package org.apache.camel.spi;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
-import org.apache.camel.Service;
+import org.apache.camel.StaticService;
 
 /**
  * A repository which tracks in flight {@link Exchange}s.
  *
  * @version 
  */
-public interface InflightRepository extends Service {
+public interface InflightRepository extends StaticService {
 
     /**
      * Adds the exchange to the inflight registry to the total counter

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/spi/ManagementNamingStrategy.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/spi/ManagementNamingStrategy.java 
b/camel-core/src/main/java/org/apache/camel/spi/ManagementNamingStrategy.java
index 8cb0045..6d5d4ff 100644
--- 
a/camel-core/src/main/java/org/apache/camel/spi/ManagementNamingStrategy.java
+++ 
b/camel-core/src/main/java/org/apache/camel/spi/ManagementNamingStrategy.java
@@ -60,8 +60,6 @@ public interface ManagementNamingStrategy {
 
     ObjectName getObjectNameForService(CamelContext context, Service service) 
throws MalformedObjectNameException;
 
-    ObjectName getObjectNameForSingleService(CamelContext context, Service 
service) throws MalformedObjectNameException;
-
     ObjectName getObjectNameForThreadPool(CamelContext context, 
ThreadPoolExecutor threadPool, String id, String sourceId) throws 
MalformedObjectNameException;
 
     ObjectName getObjectNameForEventNotifier(CamelContext context, 
EventNotifier eventNotifier) throws MalformedObjectNameException;

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/spi/ShutdownStrategy.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/spi/ShutdownStrategy.java 
b/camel-core/src/main/java/org/apache/camel/spi/ShutdownStrategy.java
index 0fec17b..c1e7632 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/ShutdownStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/ShutdownStrategy.java
@@ -21,6 +21,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Service;
+import org.apache.camel.StaticService;
 
 /**
  * Pluggable shutdown strategy executed during shutdown of routes.
@@ -38,7 +39,7 @@ import org.apache.camel.Service;
  * @version 
  * @see org.apache.camel.spi.ShutdownAware
  */
-public interface ShutdownStrategy extends Service {
+public interface ShutdownStrategy extends StaticService {
 
     /**
      * Shutdown the routes, forcing shutdown being more aggressive, if timeout 
occurred.

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/spi/StreamCachingStrategy.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/spi/StreamCachingStrategy.java 
b/camel-core/src/main/java/org/apache/camel/spi/StreamCachingStrategy.java
index 089ad09..e6d851c 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/StreamCachingStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/StreamCachingStrategy.java
@@ -19,13 +19,13 @@ package org.apache.camel.spi;
 import java.io.File;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.Service;
+import org.apache.camel.StaticService;
 import org.apache.camel.StreamCache;
 
 /**
  * Strategy for using <a 
href="http://camel.apache.org/stream-caching.html";>stream caching</a>.
  */
-public interface StreamCachingStrategy extends Service {
+public interface StreamCachingStrategy extends StaticService {
 
     /**
      * Utilization statistics of stream caching.

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java 
b/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java
index b7c90e2..39c7dcd 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java
@@ -16,7 +16,7 @@
  */
 package org.apache.camel.spi;
 
-import org.apache.camel.Service;
+import org.apache.camel.StaticService;
 import org.apache.camel.TypeConverter;
 
 /**
@@ -27,7 +27,7 @@ import org.apache.camel.TypeConverter;
  *
  * @version 
  */
-public interface TypeConverterRegistry extends Service {
+public interface TypeConverterRegistry extends StaticService {
 
     /**
      * Utilization statistics of the this registry.

http://git-wip-us.apache.org/repos/asf/camel/blob/df4b8bb3/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 49a481c..ad7794d 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.StaticService;
 import org.apache.camel.TimerListener;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
@@ -38,7 +39,7 @@ import org.slf4j.LoggerFactory;
  *
  * @see TimerListener
  */
-public class TimerListenerManager extends ServiceSupport implements Runnable, 
CamelContextAware {
+public class TimerListenerManager extends ServiceSupport implements Runnable, 
CamelContextAware, StaticService {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(TimerListenerManager.class);
     private final Set<TimerListener> listeners = new 
LinkedHashSet<TimerListener>();

Reply via email to