2010-12-09 52 views
0

我喜歡寫一個由小控制檯應用程序(啓動,暫停,停止等)控制的小型服務器應用程序。對於服務器彈簧應該使用(部分已經存在)。所以,我做什麼來啓動服務器是這樣的:從控制檯啓動並重新連接到spring bean

  1. 啓動服務器線程和退出的主要方法

,然後,在螺紋:從

  1. 負載應用程序上下文xml
  2. 啓動一些工作線程連接到豆做東西

現在我想讓服務器被另一個命令停止。我如何連接到已經運行的環境並關閉它?

感謝您的幫助, 亞歷山大

+0

http://www.kodejava.org/examples/216。 html只是添加彈簧部分到它 – 2010-12-09 09:16:20

回答

1

管理運行Java代碼的經典方法是通過JMX
春天讓你export beans as MBeans

而對於通過命令行訪問JMX,看看回答這個問題最近:

Calling JMX MBean method from a shell script

+1

我試着用MBeans,並得到它的工作。我還將服務器代碼本身重構爲一個beanm,它在調用close方法時在其自己的上下文中調用close方法。現在工作。感謝您的回答! – avh 2010-12-10 07:31:54

0

您可以創建一個PID文件時,服務器啓動時,它會記錄這個PID到文件中,server.pid。當你停下來時,你可以閱讀這個過程並殺死它。或者更簡單一些,在你的主類中有一個永久運行的線程,它不斷在某個文件夾中查找文件。只要文件變得可用或被修改,它就會停止服務器。

相關問題