2012-09-11 29 views
0

我正在使用工具monit來啓動/停止進程。我有一個Java文件如下:與java一起使用monit

class test { 
public void start() 
{ 
    //do something 
} 
public void stop() 
{ 
    //do something 
} 
} 

我想調用啓動命令時,從monit發出啓動命令,反之亦然。我似乎無法找到一個很好的教程,解釋我需要執行啓動和停止方法的步驟。我需要寫一個bash腳本嗎? monit會調用bash腳本,然後調用java方法?

+0

所以當monit啓動時start()方法運行,monit停止時stop()方法被調用? – TheLQ

+0

是的...... – samach

+0

Linux的發行版是什麼? – TheLQ

回答

0

進入java程序的入口點是main方法。

public static void main(String [] args) 
{ 
    // args carry the command line arguments. 
} 

在你的情況,你應該創建測試的實例,並呼籲該實例start()方法。

public static void main(String [] args) 
{ 
    test obj = new test(); 
    obj.start(); 
} 

Java的Runtime類提供了一個選項添加shutdown hook被終止Java程序時調用。您編寫了一個簡單的線程類,該類可以訪問上述main方法中創建的test實例,以便在調用shutdown鉤子線程的run方法時,將其委託給測試實例的stop方法。

希望這會有所幫助。

+0

謝謝。它有助於。但是,monit會如何調用我的java主要方法? – samach

+0

如果monit可以啓動一個進程,那麼它會簡單地調用java <你的完全限定類名><可選命令行參數>'。例如'java com.vikdor.apps.MainLauncher',其中MainLauncher具有定義的靜態主要方法,它將完成響應中討論的內容。 – Vikdor