作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经成功地将我们的应用程序配置为将 Quartz 的 MBean 导出到 JMX 中,并且可以在 JConsole 中查看所有内容。我可以运行大部分调度程序操作。
我真正想运行的是“triggerJob”,但它在 JConsole 中显示为灰色/禁用,因此我无法运行它。
我已经扫描了将 JMX 代码添加到 Quartz 的提交,但看不到 triggerJob 和其他启用的操作之间的任何差异。
任何人都知道发生了什么?
编辑 - 找到解释
另一个 StackOverflow 问题描述了正在发生的事情:Why are some methods on the JConsole disabled
triggerJob(和另外两个操作)采用非原始参数,这些复杂的参数不能在 JConsole 中提供。
我不清楚 MBean 提供者是否可以为 JConsole(或类似的)提供自定义编辑器,但至少我有我的答案。
最佳答案
谢谢你的解释。我使用以下 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)
关于quartz-scheduler - 为什么在 Quartz 的 JMX 中禁用了 triggerJob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9134070/
我是一名优秀的程序员,十分优秀!