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 2010/06/03 09:12:04 UTC
svn commit: r950891 - in /camel/trunk/camel-core/src:
main/java/org/apache/camel/management/DefaultManagementAgent.java
main/java/org/apache/camel/spi/ManagementAgent.java
test/java/org/apache/camel/management/ManagedServiceUrlPathTest.java
Author: davsclaus
Date: Thu Jun 3 07:12:04 2010
New Revision: 950891
URL: http://svn.apache.org/viewvc?rev=950891&view=rev
Log:
CAMEL-2786: Easier to set JMX agent options from Java using setters, instead of having to use JVM system properties.
Added:
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedServiceUrlPathTest.java
- copied, changed from r950883, camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedRegisterEndpointTest.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ManagementAgent.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java?rev=950891&r1=950890&r2=950891&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java Thu Jun 3 07:12:04 2010
@@ -390,6 +390,10 @@ public class DefaultManagementAgent exte
}
protected void createJmxConnector(String host) throws IOException {
+ ObjectHelper.notEmpty(serviceUrlPath, "serviceUrlPath");
+ ObjectHelper.notNull(registryPort, "registryPort");
+
+
try {
LocateRegistry.createRegistry(registryPort);
if (LOG.isDebugEnabled()) {
@@ -399,14 +403,15 @@ public class DefaultManagementAgent exte
// The registry may had been created, we could get the registry instead
}
+ // must start with leading slash
+ String path = serviceUrlPath.startsWith("/") ? serviceUrlPath : "/" + serviceUrlPath;
// Create an RMI connector and start it
final JMXServiceURL url;
if (connectorPort > 0) {
url = new JMXServiceURL("service:jmx:rmi://" + host + ":" + connectorPort + "/jndi/rmi://" + host
- + ":" + registryPort + serviceUrlPath);
+ + ":" + registryPort + path);
} else {
- url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + host + ":" + registryPort
- + serviceUrlPath);
+ url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + host + ":" + registryPort + path);
}
cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, server);
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ManagementAgent.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ManagementAgent.java?rev=950891&r1=950890&r2=950891&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ManagementAgent.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ManagementAgent.java Thu Jun 3 07:12:04 2010
@@ -91,4 +91,33 @@ public interface ManagementAgent extends
*/
String getMBeanObjectDomainName();
+ void setRegistryPort(Integer value);
+
+ Integer getRegistryPort();
+
+ void setConnectorPort(Integer value);
+
+ Integer getConnectorPort();
+
+ void setMBeanServerDefaultDomain(String value);
+
+ String getMBeanServerDefaultDomain();
+
+ void setMBeanObjectDomainName(String value);
+
+ void setServiceUrlPath(String value);
+
+ String getServiceUrlPath();
+
+ void setCreateConnector(Boolean flag);
+
+ Boolean getCreateConnector();
+
+ void setUsePlatformMBeanServer(Boolean flag);
+
+ Boolean getUsePlatformMBeanServer();
+
+ Boolean getOnlyRegisterProcessorWithCustomId();
+
+ void setOnlyRegisterProcessorWithCustomId(Boolean onlyRegisterProcessorWithCustomId);
}
Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedServiceUrlPathTest.java (from r950883, camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedRegisterEndpointTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedServiceUrlPathTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedServiceUrlPathTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedRegisterEndpointTest.java&r1=950883&r2=950891&rev=950891&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedRegisterEndpointTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedServiceUrlPathTest.java Thu Jun 3 07:12:04 2010
@@ -16,8 +16,11 @@
*/
package org.apache.camel.management;
-import javax.management.MBeanServer;
+import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
@@ -26,7 +29,10 @@ import org.apache.camel.builder.RouteBui
/**
* @version $Revision$
*/
-public class ManagedRegisterEndpointTest extends ContextTestSupport {
+public class ManagedServiceUrlPathTest extends ContextTestSupport {
+
+ private static final String JMXSERVICEURL = "service:jmx:rmi:///jndi/rmi://localhost:2113/foo/bar";
+ private JMXConnector clientConnector;
@Override
protected boolean useJmx() {
@@ -39,11 +45,31 @@ public class ManagedRegisterEndpointTest
DefaultManagementNamingStrategy naming = (DefaultManagementNamingStrategy) context.getManagementStrategy().getManagementNamingStrategy();
naming.setHostName("localhost");
naming.setDomainName("org.apache.camel");
+
+ // START SNIPPET: e1
+ context.getManagementStrategy().getManagementAgent().setServiceUrlPath("/foo/bar");
+ context.getManagementStrategy().getManagementAgent().setRegistryPort(2113);
+ context.getManagementStrategy().getManagementAgent().setCreateConnector(true);
+ // END SNIPPET: e1
+
return context;
}
- public void testLookupEndpointsByName() throws Exception {
- MBeanServer mbeanServer = context.getManagementStrategy().getManagementAgent().getMBeanServer();
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ try {
+ if (clientConnector != null) {
+ clientConnector.close();
+ }
+ } catch (Throwable e) {
+ // ignore
+ }
+ }
+
+ public void testConnectToJmx() throws Exception {
+ clientConnector = JMXConnectorFactory.connect(new JMXServiceURL(JMXSERVICEURL), null);
+ MBeanServerConnection mbeanServer = clientConnector.getMBeanServerConnection();
ObjectName name = ObjectName.getInstance("org.apache.camel:context=localhost/camel-1,type=endpoints,name=\"direct://start\"");
String uri = (String) mbeanServer.getAttribute(name, "EndpointUri");
@@ -74,4 +100,4 @@ public class ManagedRegisterEndpointTest
};
}
-}
+}
\ No newline at end of file