Почему triggerJob отключен в JMX Кварца? - PullRequest
5 голосов
/ 03 февраля 2012

Я успешно настроил наше приложение для экспорта MBeans Quartz в JMX и могу просматривать все в JConsole. Я могу запустить большинство операций планировщика.

Я действительно хочу запустить 'triggerJob', но в JConsole он отображается как неактивный / отключенный, поэтому я не могу его запустить.

Я просканировал коммиты, которые добавили код JMX в Quartz, но не вижу различий между triggerJob и другими включенными операциями.

Кто-нибудь знает, что происходит?

РЕДАКТИРОВАТЬ - объяснение найдено

Другая проблема StackOverflow описывает происходящее: Почему некоторые методы в JConsole отключены

triggerJob (и две другие операции) принимают не примитивные параметры, эти сложные параметры не могут быть предоставлены в JConsole.

Мне неясно, может ли провайдер MBean предоставить собственный редактор для JConsole (или simlar), но по крайней мере у меня есть ответ.

1 Ответ

1 голос
/ 13 марта 2014

Спасибо за ваше объяснение.Я успешно запустил задание удаленно через JMX, используя следующий код Groovy:

def callParams = new Object[3]
callParams[0] = 'com.test.project.TestJob'
callParams[1] = 'DEFAULT_JOB_GROUP'
callParams[2] = new HashMap()

def callSignature = new String[3]
callSignature[0] = 'java.lang.String'
callSignature[1] = 'java.lang.String'
callSignature[2] = 'java.util.Map'

// server is an instance of MBeanServerConnection
server.invoke('triggerJob', callParams, callSignature)
...