如何远程管理Quartz
許多人問他們是否可以通過JMX管理Quartz,但我不確定為什么Quartz doc甚至不會提及它。 是的,您可以使用quartz.properties的以下命令啟用石英中的JMX
org.quartz.scheduler.jmx.export = true之后,您可以使用標準的JMX客戶端(例如$JAVA_HOME/bin/jconsole進行遠程連接和管理。
選項2:RMI
遠程管理石英的另一種方法是在Quartz中啟用RMI。 如果使用此方法,則基本上可以將一個Quartz實例作為RMI服務器運行,然后可以創(chuàng)建第二個Quartz實例作為RMI客戶端。 這兩個可以通過TCP端口進行遠程通訊。
對于服務器調度程序實例,您想在quartz.properties添加它們
org.quartz.scheduler.rmi.export = true org.quartz.scheduler.rmi.createRegistry = true org.quartz.scheduler.rmi.registryHost = localhost org.quartz.scheduler.rmi.registryPort = 1099 org.quartz.scheduler.rmi.serverPort = 1100對于客戶端調度程序實例,您想將其添加到quartz.properties
org.quartz.scheduler.rmi.proxy = true org.quartz.scheduler.rmi.registryHost = localhost org.quartz.scheduler.rmi.registryPort = 1099RMI的功能在石英文檔提到這里 。 Quartz沒有客戶端 API,但是對服務器和客戶端使用相同的org.quartz.Scheduler 。 只是配置有所不同。 通過不同的配置,您將獲得截然不同的行為。 對于服務器,您的調度程序正在運行所有作業(yè),而對于客戶端,它只是一個代理。 您的客戶端調度程序實例將不會運行任何作業(yè)! 關閉客戶端時必須非常小心,因為它確實允許您關閉服務器!
這些配置已在MySchedule項目中突出顯示。 如果運行webapp,您應該會看到一個類似于此demo的屏幕,您將看到它提供了具有這些遠程管理配置屬性的許多石英配置示例。
如果使用RMI選項進行配置,實際上您仍然可以使用MySchedule Web UI將Quartz作為代理進行管理。 您可以查看和追溯作業(yè),甚至可以停止或關閉遠程服務器!
根據(jù)我的經驗,雖然有使用Quartz RMI功能的缺點。 那就是它造成了單點故障。 如果您的RMI服務器端口已關閉,則不會進行故障轉移!
參考: 如何在A Programmer's Journal博客上從我們的JCG合作伙伴 Zemian Deng 遠程管理Quartz 。
翻譯自: https://www.javacodegeeks.com/2012/08/how-to-manage-quartz-remotely.html
總結
以上是生活随笔為你收集整理的如何远程管理Quartz的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux内核系统有哪些(linux内核
- 下一篇: 使用JNA的透明JFrame