package io.airlift.jmx; import com.google.common.net.HostAndPort; import org.testng.annotations.Test; import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; import static java.lang.String.format; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; public class TestJmxAgent { @Test public void testJava8Agent() throws Exception { HostAndPort address = JmxAgent8.getRunningAgentAddress(null, null); JmxAgent agent = new JmxAgent8(new JmxConfig()); if (address == null) { // if agent wasn't running, it must have been started by the instantiation of JmxAgent address = JmxAgent8.getRunningAgentAddress(null, null); assertNotNull(address); } JMXServiceURL url = agent.getUrl(); assertEquals(url.toString(), format("service:jmx:rmi:///jndi/rmi://%s:%s/jmxrmi", address.getHost(), address.getPort())); JMXConnector connector = JMXConnectorFactory.connect(url); connector.connect(); } }