如何使用Java和JMX获得Tomcat正常运行时间
我想使用Java使用JMX监视Tomcat8。我测试了这段代码:如何使用Java和JMX获得Tomcat正常运行时间,java,tomcat,jmx,Java,Tomcat,Jmx,我想使用Java使用JMX监视Tomcat8。我测试了这段代码: private MBeanServerConnection connection; private JMXConnector connector; @Test public void testOne() throws Exception { try { System.out.println("Starting lookup ...");
private MBeanServerConnection connection;
private JMXConnector connector;
@Test
public void testOne() throws Exception
{
try
{
System.out.println("Starting lookup ...");
ObjectName mBeanName = new ObjectName("java.lang:type=Runtime");
String attributeName = "StartTime";
String host = "51.29.7.12";
int port = 9999; // management-native port
HashMap environment = new HashMap();
String[] credentials = new String[]
{
"admin", "admin"
};
environment.put(JMXConnector.CREDENTIALS, credentials);
String urlString = System.getProperty("jmx.service.url", "service:jmx:remoting-jmx://" + host + ":" + port);
JMXServiceURL serviceURL = new JMXServiceURL(urlString);
connector = JMXConnectorFactory.connect(serviceURL, null);
connection = connector.getMBeanServerConnection();
Object attrVal = connection.getAttribute(mBeanName, attributeName);
System.out.println("Value via JMX: " + new Date((Long) attrVal));
connector.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
但我收到消息java.io.IOException:操作失败,状态为等待
使用JMX连接到远程Tomcat服务器的正确方法是什么