2012-09-11 34 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