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);