5
我有一個要求編寫一個Java程序,以根據請求遠程啓動停止jboss服務器。任何人都可以請建議如何做到這一點?一個選項可以調用啓動/停止腳本,但這個Java程序(可能是servlet或jsp)存在於不同的機器上。我們正在使用jboss服務器7.遠程啓動停止jboss服務器
我有一個要求編寫一個Java程序,以根據請求遠程啓動停止jboss服務器。任何人都可以請建議如何做到這一點?一個選項可以調用啓動/停止腳本,但這個Java程序(可能是servlet或jsp)存在於不同的機器上。我們正在使用jboss服務器7.遠程啓動停止jboss服務器
通過指向正確的主機和端口,可以使用run.sh和shutdown.sh腳本完成遠程啓動和停止Jboss的簡單方法。如果你是在Linux上,你可以運行:
rsh [email protected] /path/to/jboss/bin/run.sh
rsh [email protected] /path/to/jboss/bin/shutdown.sh
您也可以執行與Java中的Shell命令,你可以使用Runtime EXEC mewthod:
Runtime.getRuntime().exec("shell command here");
看到這個完整的answer針對Java EXEC更多細節方法。
一個更好的選擇我建議,是使用JMX控制檯編程,你可以停止/通過調用服務器上的MBean關機重啓方法在JBoss intance。 JMX方法更強大,因爲您可以監視和管理Jboss runinng instanace的每個方面(如日誌記錄,內存或cpu)。請參閱this以開始。
我創建片段,以減輕你開始,看到這個有效的解決方案http://snipt.org/Ahhjh4
記住:
祝你好運!
感謝這篇文章。我寧願通過JMX連接器來完成它。一旦我處理了正在運行的Jboss AS的JMXConnector和MBeanServerConnection。我該如何停止並重新啓動AS。我感謝你的幫助。 – user458580
我編輯了答案,添加了完整的解決方案片段。 – zerologiko
再次感謝這個不錯的例子。我的問題是我需要在不同的時間點啓動和停止jboss服務器。一旦我停止了服務器,我可能無法獲得Mbean的處理以再次啓動它。是否有可能停止運行某些Mbean的jboss,以便將來可以重新啓動,當然也可以遠程啓動。 – user458580