2012-02-03 22 views
5

Tôi đã định cấu hình thành công ứng dụng của mình để xuất MBPE của Quartz thành JMX và có thể xem mọi thứ trong JConsole. Tôi có thể chạy phần lớn các hoạt động của lịch trình.Tại sao triggerJob bị vô hiệu hóa trong JMX của Quartz?

Điều tôi thực sự muốn chạy là 'triggerJob', nhưng điều đó đang hiển thị trong JConsole dưới dạng màu xám-tắt/tắt nên tôi không thể chạy nó.

Tôi đã quét các cam kết đã thêm mã JMX vào Quartz nhưng không thể thấy bất kỳ sự khác biệt nào giữa triggerJob và các hoạt động khác được bật.

Bất kỳ ai có manh mối gì đang xảy ra?

EDIT - giải thích thấy

Một vấn đề StackOverflow khác nhau mô tả những gì đang xảy ra: Why are some methods on the JConsole disabled

triggerJob (và hai cuộc phẫu thuật khác) lấy thông số phi nguyên thủy, các thông số phức tạp không thể được cung cấp trong JConsole.

Tôi không rõ liệu nhà cung cấp MBean có thể cung cấp trình chỉnh sửa tùy chỉnh cho JConsole (hay simlar), nhưng ít nhất tôi có câu trả lời của tôi.

Trả lời

1

Cảm ơn bạn đã giải thích. Tôi đã kích hoạt thành công một công việc từ xa thông qua JMX bằng cách sử dụng mã Groovy sau:

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) 
Các vấn đề liên quan