diff --git a/src/zabbix_java/src/com/zabbix/gateway/JMXItemChecker.java b/src/zabbix_java/src/com/zabbix/gateway/JMXItemChecker.java index 7e02bd040b3..fd6261f5c10 100644 --- a/src/zabbix_java/src/com/zabbix/gateway/JMXItemChecker.java +++ b/src/zabbix_java/src/com/zabbix/gateway/JMXItemChecker.java @@ -43,6 +43,9 @@ import org.json.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +// DIMBUG +import java.util.Arrays; + class JMXItemChecker extends ItemChecker { private static final Logger logger = LoggerFactory.getLogger(JMXItemChecker.class); @@ -85,18 +88,26 @@ class JMXItemChecker extends ItemChecker // e. g. the second "rmi" in service:jmx:rmi:///jndi/rmi:// String[] parts = url.getURLPath().split(":", 2); - if (0 != parts.length) + logger.warn("DIMBUG parsing '" + url.getURLPath() + "', got " + parts.length + " parts: " + Arrays.toString(parts)); + + if (0 != parts.length && !parts[0].equals("")) { + logger.warn("DIMBUG parsing '" + parts[0] + "'"); + parts = parts[0].split("/", 0); - if (0 != parts.length) + logger.warn("DIMBUG got " + parts.length + " parts: " + Arrays.toString(parts)); + + if (0 != parts.length && !parts[parts.length - 1].equals("")) { - String rmiProtocol = parts[parts.length - 1]; + String serviceProvider = parts[parts.length - 1]; + + logger.warn("DIMBUG got serviceProvider " + serviceProvider); - if (!rmiProtocol.equals("rmi")) + if (!serviceProvider.equals("rmi")) { throw new ZabbixException("unsupported JNDI service provider, \"%s\"", - rmiProtocol); + serviceProvider); } } }