2017-01-27 15 views
1

내 응용 프로그램이 Wildfly-8.0.1에서 실행되고 있습니다. 현재는 서비스를 사용하여 JConsole을 통해 MBean 메소드를 트리거 할 수 있습니다. jmx : http-remoting-jmx : // localhost : 9990.명령 줄에서 JMX Mbean 기능을 실행하려고 시도합니다.

이러한 명령을 실행하는 스크립트를 작성하고 싶지만이를 수행하는 지원 도구를 찾지 못했습니다.

나는 도구 아래했지만, 그들은 HTTP-원격-JMX 프로토콜을 지원하지 않거나 내가 올바른 방법 1. JMXTerm 2. Cmdline_JMXClient 3. JManage 4. CJMX

을에서 사용하고 있지 않다있을 수 있습니다 것처럼 보인다 JMX : HTTP-원격-JMX : // localhost를 : 9990 RuntimeIOException : 런타임 IO 예외 : 지원되지 않는 프로토콜 : HTTP-원격-J MX 다음

$> 공개 서비스 JMXTerm

에서 오류가

모든 도움을 주시면 대단히 감사하겠습니다.

답변

0

아래 클래스를 사용하여 사용자 정의 jar 파일을 만듭니다.

import javax.management.MBeanServerConnection; 
import javax.management.ObjectName; 
import javax.management.remote.JMXConnector; 
import javax.management.remote.JMXConnectorFactory; 
import javax.management.remote.JMXServiceURL; 

public class JMXCli { 

    //private static List<String> operations; 

    private static final String SERVICE_URL = "service:jmx:http-remoting-jmx://"; 

    public static void main(String[] args) throws Exception { 

     JMXServiceURL url = new JMXServiceURL(SERVICE_URL + args[0]); 

     JMXConnector connector = JMXConnectorFactory.connect(url); 

     MBeanServerConnection connection = connector.getMBeanServerConnection(); 

     ObjectName objectName = new ObjectName("com.xyz.com:name=<<Your MBean class name>>"); 

     System.out.println(connection.invoke(objectName, args[1], null, null)); 

    } 
}