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 2013/03/17 09:54:20 UTC
svn commit: r1457397 - in /camel/trunk/camel-core/src:
main/java/org/apache/camel/api/management/mbean/
main/java/org/apache/camel/management/mbean/
test/java/org/apache/camel/management/
Author: davsclaus
Date: Sun Mar 17 08:54:19 2013
New Revision: 1457397
URL: http://svn.apache.org/r1457397
Log:
ManagedCamelContextMBean - Add operation to find components
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java?rev=1457397&r1=1457396&r2=1457397&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java Sun Mar 17 08:54:19 2013
@@ -17,6 +17,7 @@
package org.apache.camel.api.management.mbean;
import java.util.Map;
+import java.util.Properties;
import java.util.concurrent.TimeUnit;
import org.apache.camel.api.management.ManagedAttribute;
@@ -160,5 +161,14 @@ public interface ManagedCamelContextMBea
*/
@ManagedOperation(description = "Removes endpoints by the given pattern")
int removeEndpoints(String pattern) throws Exception;
-
+
+ /**
+ * Find information about all the Camel components available in the classpath and {@link org.apache.camel.spi.Registry}.
+ *
+ * @return a map with the component name, and value with component details.
+ * @throws Exception is thrown if error occurred
+ */
+ @ManagedOperation(description = "Find all Camel components available in the classpath")
+ Map<String, Properties> findComponents() throws Exception;
+
}
\ No newline at end of file
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=1457397&r1=1457396&r2=1457397&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 Sun Mar 17 08:54:19 2013
@@ -21,9 +21,9 @@ import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import java.util.Set;
import java.util.concurrent.TimeUnit;
-
import javax.management.MBeanServer;
import javax.management.MBeanServerInvocationHandler;
import javax.management.ObjectName;
@@ -41,6 +41,7 @@ import org.apache.camel.model.ModelCamel
import org.apache.camel.model.ModelHelper;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.RoutesDefinition;
+import org.apache.camel.util.CamelContextHelper;
/**
* @version
@@ -87,12 +88,10 @@ public class ManagedCamelContext extends
return context.getProperties();
}
- @Override
public String getProperty(String name) throws Exception {
return context.getProperty(name);
}
- @Override
public void setProperty(String name, String value) throws Exception {
context.getProperties().put(name, value);
}
@@ -145,7 +144,6 @@ public class ManagedCamelContext extends
return String.format("%.2f", load.getLoad15());
}
- @Override
public void onTimer() {
load.update(getInflightExchanges());
}
@@ -251,7 +249,6 @@ public class ManagedCamelContext extends
context.addRouteDefinitions(def.getRoutes());
}
- @Override
public String dumpRoutesStatsAsXml(boolean fullStats, boolean includeProcessors) throws Exception {
StringBuilder sb = new StringBuilder();
sb.append("<camelContextStat").append(String.format(" id=\"%s\"", getCamelId()));
@@ -335,4 +332,8 @@ public class ManagedCamelContext extends
return removed.size();
}
+ public Map<String, Properties> findComponents() throws Exception {
+ return CamelContextHelper.findComponents(context);
+ }
+
}
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java?rev=1457397&r1=1457396&r2=1457397&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java Sun Mar 17 08:54:19 2013
@@ -18,6 +18,7 @@ package org.apache.camel.management;
import java.util.HashMap;
import java.util.Map;
+import java.util.Properties;
import javax.management.MBeanServer;
import javax.management.ObjectName;
@@ -153,6 +154,23 @@ public class ManagedCamelContextTest ext
assertFalse("Should not be registered " + seda, registered);
}
+ public void testFindComponentsInClasspath() throws Exception {
+ MBeanServer mbeanServer = getMBeanServer();
+
+ ObjectName on = ObjectName.getInstance("org.apache.camel:context=localhost/19-camel-1,type=context,name=\"camel-1\"");
+
+ assertTrue("Should be registered", mbeanServer.isRegistered(on));
+
+ Map<String, Properties> info = (Map<String, Properties>) mbeanServer.invoke(on, "findComponents", null, null);
+ assertNotNull(info);
+
+ assertEquals(21, info.size());
+ Properties prop = info.get("seda");
+ assertNotNull(prop);
+ assertEquals("org.apache.camel", prop.get("groupId"));
+ assertEquals("camel-core", prop.get("artifactId"));
+ }
+
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {