2012-02-03 6 views
5

私は、QuartzのMBeanをJMXにエクスポートするようにアプリケーションを正常に設定し、JConsole内のすべてを見ることができます。私は、スケジューラー操作の大部分を実行することができます。QuartzのJMXでtriggerJobが無効になっているのはなぜですか?

私が実際に実行したいのは 'triggerJob'ですが、それはJConsoleでグレー表示/無効に表示されているため実行できません。

JMXコードを追加したコミットをQuartzにスキャンしましたが、有効になっているtriggerJobと他の操作の間に違いはありません。

誰かが何が起こっているのかを知っていますか?

EDIT - 説明が

異なるStackOverflowの問題は、何が起こっているかを説明した:Why are some methods on the JConsole disabled

triggerJob(および他の二つの操作を)非プリミティブのパラメータを取り、これらの複雑なパラメータは、JConsoleので提供することができません。

MBeanプロバイダがJConsole(またはsimlar)のカスタムエディタを提供するかどうかは不明ですが、少なくとも私の答えはあります。

答えて

1

ありがとうございます。次のGroovyコードを使用してJMXを介してリモートでジョブを正常に起動しました。

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) 
関連する問題