JConsole없이 JMX로 메소드를 실행하는 방법은 무엇입니까?JConsole을 사용하지 않고 JMX로 메소드 실행
Java 코드에서 JMX를 통해 메소드를 호출하려고합니다. 아래 코드를 사용하면 모든 메서드의 이름을 MBean 인터페이스의으로 가져올 수 있지만 실제로는 실제로 사용할 수 없습니다. 을 실행합니다. 아직 뭔가 빠졌어. 누구 좀 도와 주실 래요?
private static String connectJmx() {
StringBuilder sb = new StringBuilder();
JMXServiceURL serviceUrl;
JMXConnector jmxConnector = null;
try {
serviceUrl = new JMXServiceURL(URL);
jmxConnector = JMXConnectorFactory.connect(serviceUrl, null);
MBeanServerConnection mbeanConn = jmxConnector.getMBeanServerConnection();
ObjectName objectName = ObjectNameProvider.getObjectName();
MBeanInfo info = mbeanConn.getMBeanInfo(objectName);
MBeanOperationInfo[] operations = info.getOperations();
for (int i = 0; i < operations.length; i++) {
sb.append(operations[i].getName()).append("\n");
}
}
catch (Exception e) {
LogManager.doLog(LOG, LOGLEVEL.INFO, "exception connection jmx", e);
} finally {
try {
if(jmxConnector != null){
jmxConnector.close();
}
} catch (IOException e) {
//
}
}
return sb.toString();
}
위의주기는 메소드의 이름을 수집합니다. 이름을 수집하는 대신 실제로 이름을 실행하는 것과 비슷한 것을 원합니다. JConsole을 권장하지 마십시오. 다른 이유로 작동하지 않습니다.
이 * "JConsole의 권장하지 마십시오, 그것은 다른 이유로 작동하지 않습니다 여기에 당신을 도울 수있는 샘플 코드입니다. "* 이유를 알려주십시오. –
우리는이 기능을 우리의 응용 프로그램에 포함시키고 자하므로 Jconsole없이 사용할 수있는 클라이언트에 배포 할 때 –