Эквивалент GroovyMBean в Java - PullRequest
       10

Эквивалент GroovyMBean в Java

0 голосов
/ 31 января 2012

У меня есть некоторая конфигурация JMX на моем сервере. Теперь, когда я хочу получить это, я называю это из groovy:

GroovyMBean mbean = new GroovyMBean(server, application)
mbean.invokeMethod(function,parameter) 

Что эквивалентно GroovyMBean в Java, потому что теперь я хочу вызвать эту конфигурацию из кода Java?

Ответы [ 2 ]

0 голосов
/ 12 апреля 2018

Извините, так поздно.Я только столкнулся с подобной проблемой.Нет класса mBean, но есть универсальные классы объектов.Также в URL вашего сервиса отсутствует часть.ObjectName - это имя mbean, а methodName - это вызываемая функция.

MBeanServerConnection connection = null;
HashMap<String,String[]> jmxEnv = new HashMap<String, String[]>();
String[] credentials = new String[2];
credentials[0] = JMX_User;
credentials[1] = JMX_Password;
jmxEnv.put(JMXConnector.CREDENTIALS,credentials);

JMXServiceURL serverUrl = null;

serverUrl = new JMXServiceURL("service:jmx:rmi://"+JMX_Server+":"+JMX_Port+"/jndi/rmi://"+JMX_Server+":"+JMX_Registry_Port+"/server");
connection = JMXConnectorFactory.connect(serverUrl, jmxEnv).getMBeanServerConnection();
ObjectName beanName = null;
beanName = new ObjectName("ObjectName");
Object[] params = new Object[1];
params[0]=fileName;
String[] signature = new String[0];
connection.invoke(beanName, "methodName", params, signature);
0 голосов
/ 31 января 2012

Если я правильно понимаю ваш вопрос, этот фрагмент кода будет использоваться в Java для подключения к JMXServer.

     JMXConnector jmxConnector = null;
            MBeanServerConnection mbeanConn = null;
            try {
                String url = "service:jmx:rmi:///jndi/rmi://" + this.server + ":" + this.port + "/jmxrmi";
                JMXServiceURL serviceUrl;

                serviceUrl = new JMXServiceURL(url);
                jmxConnector = JMXConnectorFactory.connect(serviceUrl, null);
                mbeanConn = jmxConnector.getMBeanServerConnection();
}catch(Exception e)
{
}
finally
{
//close jmx connector.
}
...