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 2014/02/04 09:10:50 UTC

[1/3] git commit: CAMEL-7164: Expose more information in JMX for type converter registry.

Updated Branches:
  refs/heads/camel-2.12.x f2749a941 -> cbb4ad2a5
  refs/heads/master 5f726d0b9 -> a976a730e


CAMEL-7164: Expose more information in JMX for type converter registry.


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

Branch: refs/heads/master
Commit: a976a730e9b48971a5eaf1737b60ed514d703652
Parents: 5f726d0
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Feb 4 08:54:01 2014 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Feb 4 08:54:01 2014 +0100

----------------------------------------------------------------------
 .../mbean/ManagedTypeConverterRegistryMBean.java    |  6 ++++++
 .../impl/converter/BaseTypeConverterRegistry.java   |  5 +++++
 .../mbean/ManagedTypeConverterRegistry.java         | 16 ++++++++++++++++
 .../org/apache/camel/spi/TypeConverterRegistry.java |  7 +++++++
 .../ManagedTypeConverterRegistryTest.java           | 10 ++++++++++
 .../apache/camel/core/osgi/OsgiTypeConverter.java   |  4 ++++
 .../core/osgi/test/MockTypeConverterRegistry.java   |  4 ++++
 7 files changed, 52 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/a976a730/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
index 208af34..89070de 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
@@ -42,4 +42,10 @@ public interface ManagedTypeConverterRegistryMBean extends ManagedServiceMBean {
     @ManagedAttribute(description = "Utilization statistics enabled")
     void setStatisticsEnabled(boolean statisticsEnabled);
 
+    @ManagedAttribute(description = "Number of type converters in the registry")
+    int getNumberOfTypeConverters();
+
+    @ManagedOperation(description = "Checks whether a type converter exists for converting (from -> to)")
+    boolean hasTypeConverter(String fromType, String toType);
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/a976a730/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java b/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
index 13a78e3..0c726d2 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
@@ -551,6 +551,11 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
     }
 
     @Override
+    public int size() {
+        return typeMappings.size();
+    }
+
+    @Override
     protected void doStart() throws Exception {
         // noop
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/a976a730/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 55af467..1a735d8 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
@@ -20,6 +20,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.api.management.mbean.ManagedTypeConverterRegistryMBean;
 import org.apache.camel.spi.TypeConverterRegistry;
+import org.apache.camel.util.ObjectHelper;
 
 /**
  *
@@ -65,4 +66,19 @@ public class ManagedTypeConverterRegistry extends ManagedService implements Mana
     public void setStatisticsEnabled(boolean statisticsEnabled) {
         registry.getStatistics().setStatisticsEnabled(statisticsEnabled);
     }
+
+    public int getNumberOfTypeConverters() {
+        return registry.size();
+    }
+
+    public boolean hasTypeConverter(String fromType, String toType) {
+        try {
+            Class<?> from = getContext().getClassResolver().resolveMandatoryClass(fromType);
+            Class<?> to = getContext().getClassResolver().resolveMandatoryClass(toType);
+            return registry.lookup(to, from) != null;
+        } catch (ClassNotFoundException e) {
+            throw ObjectHelper.wrapRuntimeCamelException(e);
+        }
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/a976a730/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 9dcbb29..b56d40f 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
@@ -128,4 +128,11 @@ public interface TypeConverterRegistry extends StaticService {
      */
     Statistics getStatistics();
 
+    /**
+     * Number of type converters in the registry.
+     *
+     * @return number of type converters in the registry.
+     */
+    int size();
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/a976a730/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
index ae63228..c2b6a32 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
@@ -88,6 +88,16 @@ public class ManagedTypeConverterRegistryTest extends ManagementTestSupport {
         assertEquals(0, failed.intValue());
         miss = (Long) mbeanServer.getAttribute(name, "MissCounter");
         assertEquals(0, miss.intValue());
+
+        // we have more than 150 converters out of the box
+        Integer converters = (Integer) mbeanServer.getAttribute(name, "NumberOfTypeConverters");
+        assertTrue("Should be more than 150 converters, was: " + converters, converters >= 150);
+
+        Boolean has = (Boolean) mbeanServer.invoke(name, "hasTypeConverter", new Object[]{"String", "java.io.InputStream"}, new String[]{"java.lang.String", "java.lang.String"});
+        assertTrue("Should have type converter", has.booleanValue());
+
+        has = (Boolean) mbeanServer.invoke(name, "hasTypeConverter", new Object[]{"java.math.BigInteger", "int"}, new String[]{"java.lang.String", "java.lang.String"});
+        assertFalse("Should not have type converter", has.booleanValue());
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/a976a730/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
----------------------------------------------------------------------
diff --git a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
index ba08489..a9a3810 100644
--- a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
+++ b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
@@ -151,6 +151,10 @@ public class OsgiTypeConverter extends ServiceSupport implements TypeConverter,
         return getDelegate().getStatistics();
     }
 
+    public int size() {
+        return getDelegate().size();
+    }
+
     public synchronized DefaultTypeConverter getDelegate() {
         if (delegate == null) {
             delegate = createRegistry();

http://git-wip-us.apache.org/repos/asf/camel/blob/a976a730/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
----------------------------------------------------------------------
diff --git a/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java b/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
index ff51566..d43bc9d 100644
--- a/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
+++ b/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
@@ -64,6 +64,10 @@ public class MockTypeConverterRegistry implements TypeConverterRegistry {
         return null;
     }
 
+    public int size() {
+        return typeConverters.size();
+    }
+
     public void start() throws Exception {
         // noop
     }


[3/3] git commit: CAMEL-7164: Expose more information in JMX for type converter registry.

Posted by da...@apache.org.
CAMEL-7164: Expose more information in JMX for type converter registry.


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

Branch: refs/heads/camel-2.12.x
Commit: cbb4ad2a55d8c6b21b19d6d0d5c2b30813f050c6
Parents: c566ebc
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Feb 4 08:54:01 2014 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Feb 4 09:11:41 2014 +0100

----------------------------------------------------------------------
 .../mbean/ManagedTypeConverterRegistryMBean.java    |  6 ++++++
 .../impl/converter/BaseTypeConverterRegistry.java   |  5 +++++
 .../mbean/ManagedTypeConverterRegistry.java         | 16 ++++++++++++++++
 .../org/apache/camel/spi/TypeConverterRegistry.java |  7 +++++++
 .../ManagedTypeConverterRegistryTest.java           | 10 ++++++++++
 .../apache/camel/core/osgi/OsgiTypeConverter.java   |  4 ++++
 .../core/osgi/test/MockTypeConverterRegistry.java   |  4 ++++
 7 files changed, 52 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/cbb4ad2a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
index 208af34..89070de 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
@@ -42,4 +42,10 @@ public interface ManagedTypeConverterRegistryMBean extends ManagedServiceMBean {
     @ManagedAttribute(description = "Utilization statistics enabled")
     void setStatisticsEnabled(boolean statisticsEnabled);
 
+    @ManagedAttribute(description = "Number of type converters in the registry")
+    int getNumberOfTypeConverters();
+
+    @ManagedOperation(description = "Checks whether a type converter exists for converting (from -> to)")
+    boolean hasTypeConverter(String fromType, String toType);
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/cbb4ad2a/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java b/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
index 13a78e3..0c726d2 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
@@ -551,6 +551,11 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
     }
 
     @Override
+    public int size() {
+        return typeMappings.size();
+    }
+
+    @Override
     protected void doStart() throws Exception {
         // noop
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/cbb4ad2a/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 55af467..1a735d8 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
@@ -20,6 +20,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.api.management.mbean.ManagedTypeConverterRegistryMBean;
 import org.apache.camel.spi.TypeConverterRegistry;
+import org.apache.camel.util.ObjectHelper;
 
 /**
  *
@@ -65,4 +66,19 @@ public class ManagedTypeConverterRegistry extends ManagedService implements Mana
     public void setStatisticsEnabled(boolean statisticsEnabled) {
         registry.getStatistics().setStatisticsEnabled(statisticsEnabled);
     }
+
+    public int getNumberOfTypeConverters() {
+        return registry.size();
+    }
+
+    public boolean hasTypeConverter(String fromType, String toType) {
+        try {
+            Class<?> from = getContext().getClassResolver().resolveMandatoryClass(fromType);
+            Class<?> to = getContext().getClassResolver().resolveMandatoryClass(toType);
+            return registry.lookup(to, from) != null;
+        } catch (ClassNotFoundException e) {
+            throw ObjectHelper.wrapRuntimeCamelException(e);
+        }
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/cbb4ad2a/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 9dcbb29..b56d40f 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
@@ -128,4 +128,11 @@ public interface TypeConverterRegistry extends StaticService {
      */
     Statistics getStatistics();
 
+    /**
+     * Number of type converters in the registry.
+     *
+     * @return number of type converters in the registry.
+     */
+    int size();
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/cbb4ad2a/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
index 6f1d624..bc9e1e4 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
@@ -88,6 +88,16 @@ public class ManagedTypeConverterRegistryTest extends ManagementTestSupport {
         assertEquals(0, failed.intValue());
         miss = (Long) mbeanServer.getAttribute(name, "MissCounter");
         assertEquals(0, miss.intValue());
+
+        // we have more than 150 converters out of the box
+        Integer converters = (Integer) mbeanServer.getAttribute(name, "NumberOfTypeConverters");
+        assertTrue("Should be more than 150 converters, was: " + converters, converters >= 150);
+
+        Boolean has = (Boolean) mbeanServer.invoke(name, "hasTypeConverter", new Object[]{"String", "java.io.InputStream"}, new String[]{"java.lang.String", "java.lang.String"});
+        assertTrue("Should have type converter", has.booleanValue());
+
+        has = (Boolean) mbeanServer.invoke(name, "hasTypeConverter", new Object[]{"java.math.BigInteger", "int"}, new String[]{"java.lang.String", "java.lang.String"});
+        assertFalse("Should not have type converter", has.booleanValue());
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/cbb4ad2a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
----------------------------------------------------------------------
diff --git a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
index ba08489..a9a3810 100644
--- a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
+++ b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
@@ -151,6 +151,10 @@ public class OsgiTypeConverter extends ServiceSupport implements TypeConverter,
         return getDelegate().getStatistics();
     }
 
+    public int size() {
+        return getDelegate().size();
+    }
+
     public synchronized DefaultTypeConverter getDelegate() {
         if (delegate == null) {
             delegate = createRegistry();

http://git-wip-us.apache.org/repos/asf/camel/blob/cbb4ad2a/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
----------------------------------------------------------------------
diff --git a/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java b/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
index ff51566..d43bc9d 100644
--- a/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
+++ b/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
@@ -64,6 +64,10 @@ public class MockTypeConverterRegistry implements TypeConverterRegistry {
         return null;
     }
 
+    public int size() {
+        return typeConverters.size();
+    }
+
     public void start() throws Exception {
         // noop
     }


[2/3] git commit: CAMEL-7163: BacklogDebugger - Should not change body/header type to string

Posted by da...@apache.org.
CAMEL-7163: BacklogDebugger - Should not change body/header type to string


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

Branch: refs/heads/camel-2.12.x
Commit: c566ebc65a88224ec25468b22348b61743e77cd9
Parents: f2749a9
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Feb 4 09:11:05 2014 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Feb 4 09:11:05 2014 +0100

----------------------------------------------------------------------
 .../java/org/apache/camel/management/BacklogDebuggerTest.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/c566ebc6/camel-core/src/test/java/org/apache/camel/management/BacklogDebuggerTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/BacklogDebuggerTest.java b/camel-core/src/test/java/org/apache/camel/management/BacklogDebuggerTest.java
index 7b674a3..22ad609 100644
--- a/camel-core/src/test/java/org/apache/camel/management/BacklogDebuggerTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/BacklogDebuggerTest.java
@@ -170,7 +170,7 @@ public class BacklogDebuggerTest extends ManagementTestSupport {
         }
 
         MBeanServer mbeanServer = getMBeanServer();
-        ObjectName on = new ObjectName("org.apache.camel:context=camel-1,type=tracer,name=BacklogDebugger");
+        ObjectName on = new ObjectName("org.apache.camel:context=localhost/camel-1,type=tracer,name=BacklogDebugger");
         assertNotNull(on);
         mbeanServer.isRegistered(on);
 
@@ -249,7 +249,7 @@ public class BacklogDebuggerTest extends ManagementTestSupport {
         }
 
         MBeanServer mbeanServer = getMBeanServer();
-        ObjectName on = new ObjectName("org.apache.camel:context=camel-1,type=tracer,name=BacklogDebugger");
+        ObjectName on = new ObjectName("org.apache.camel:context=localhost/camel-1,type=tracer,name=BacklogDebugger");
         assertNotNull(on);
         mbeanServer.isRegistered(on);