2012-09-11 3 views
0

나는 monit 도구를 사용하여 프로세스를 시작/중지합니다. Java 파일을 다음과 같이 가지고 있습니다 :자바에서 monit 사용

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

monit에서 시작 명령이 발행 될 때 start func를 호출하고 그 반대도 마찬가지입니다. 시작 및 중지 방법을 실행하기 위해 취해야 할 단계를 설명하는 좋은 자습서를 찾을 수없는 것 같습니다. bash 스크립트를 작성해야합니까? 그리고 monit은 자바 메소드를 호출하는 bash 스크립트를 호출 할 것인가?

+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(); 
} 

는 자바의 Runtime 클래스는 자바 프로그램이 종료 될 때 호출되는있는 shutdown hook를 추가 할 수있는 옵션을 제공합니다. 위의 main 메서드에서 만든 test 인스턴스에 대한 액세스 권한이있는 간단한 스레드 클래스를 작성하여 종료 후크 스레드의 run 메서드가 호출 될 때이를 테스트 인스턴스의 stop 메서드에 위임하도록합니다.

희망이 도움이됩니다.

+0

감사합니다. 도움이됩니다. 그러나 어떻게하면 자바가 main 메소드를 호출 할까? – samach

+0

monit이 프로세스를 시작할 수 있다면 간단히'java '를 호출 할 것입니다. 예 : 'java com.vikdor.apps.MainLauncher' MainLauncher에는 응답에서 논의 된 내용을 수행 할 정적 기본 메소드가 정의되어 있습니다. – Vikdor