diff --git a/src/main/java/org/datadog/jmxfetch/ConnectionManager.java b/src/main/java/org/datadog/jmxfetch/ConnectionManager.java index 3f5405c84..582d1802b 100644 --- a/src/main/java/org/datadog/jmxfetch/ConnectionManager.java +++ b/src/main/java/org/datadog/jmxfetch/ConnectionManager.java @@ -29,6 +29,8 @@ public static ConnectionManager getInstance() { private static String generateKey(LinkedHashMap connectionParams) { if (connectionParams.get("process_name_regex") != null) { return (String) connectionParams.get("process_name_regex"); + } else if (connectionParams.get("jmx_url") != null) { + return (String) connectionParams.get("jmx_url"); } return connectionParams.get("host") + ":" + connectionParams.get("port") + ":" + connectionParams.get("user"); } diff --git a/src/main/java/org/datadog/jmxfetch/Instance.java b/src/main/java/org/datadog/jmxfetch/Instance.java index 0ac509d53..78a5f5cc6 100644 --- a/src/main/java/org/datadog/jmxfetch/Instance.java +++ b/src/main/java/org/datadog/jmxfetch/Instance.java @@ -85,10 +85,13 @@ public Instance(LinkedHashMap yamlInstance, LinkedHashMap connectionParams) port = (Integer) connectionParams.get("port"); user = (String) connectionParams.get("user"); password = (String) connectionParams.get("password"); + jmx_url = (String) connectionParams.get("jmx_url"); if (connectionParams.containsKey("path")){ path = (String) connectionParams.get("path"); } env = getEnv(connectionParams); address = getAddress(connectionParams); - + String trustStorePath; String trustStorePassword; if (connectionParams.containsKey(TRUST_STORE_PATH_KEY) @@ -42,7 +44,7 @@ public RemoteConnection(LinkedHashMap connectionParams) if (trustStorePath != null && trustStorePassword != null) { System.setProperty("javax.net.ssl.trustStore", trustStorePath); System.setProperty("javax.net.ssl.trustStorePassword", trustStorePassword); - + LOGGER.info("Setting trustStore path: " + trustStorePath + " and trustStorePassword"); } @@ -61,7 +63,10 @@ private HashMap getEnv( private JMXServiceURL getAddress( LinkedHashMap connectionParams) throws MalformedURLException { - return new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + this.host + ":" + this.port +"/" + this.path); + if (this.jmx_url != null) { + return new JMXServiceURL(this.jmx_url); + } + return new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + this.host + ":" + this.port +"/" + this.path); }