Skip to content

Instantly share code, notes, and snippets.

@pambrose
Last active August 29, 2015 14:14
Show Gist options
  • Save pambrose/f13dd80c6641655429c0 to your computer and use it in GitHub Desktop.
Save pambrose/f13dd80c6641655429c0 to your computer and use it in GitHub Desktop.
public static void main(String[] args)
throws Exception {
// Create a JmxProxyLauncher
JmxProxyLauncher jmxProxyLauncher =
new JmxProxyLauncher.Builder()
.setUserName("pambrose")
.setPassword("topsecret")
.build();
// Connect and wait for completion
jmxProxyLauncher.connect();
jmxProxyLauncher.getLauncherConnectedMonitor().waitUntilTrue();
// Create JmxProxy and wait for it to start
JmxProxy jmxProxy = jmxProxyLauncher.startProxy("usergroup@server", 8001);
jmxProxy.getStartedMonitor().waitUntilTrue();
// Connect to JmxProxy
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://:8001/jmxrmi");
JMXConnector jmxConnector = JMXConnectorFactory.connect(url);
MBeanServerConnection connection = jmxConnector.getMBeanServerConnection();
String domains[] = connection.getDomains();
int beanCnt = connection.getMBeanCount();
for (ObjectName name : connection.queryNames(null, null))
System.out.println(name);
// Call some methods on an MBean
ObjectName objectName = new ObjectName("io.haptava.server.mbeanserver:type=Admin,name=MBeanServerFilterAdmin");
MBeanServerFilterAdminMXBean proxy = JMX.newMXBeanProxy(connection,
objectName,
MBeanServerFilterAdminMXBean.class,
true);
int cnt = proxy.getFilterCount();
boolean hasTest = proxy.hasFilter("test");
for (MBeanServerFilterData filter : proxy.getFilters())
System.out.println(filter);
jmxConnector.close();
jmxProxy.close();
jmxProxyLauncher.close();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment