2011-09-28 4 views
2

기본적으로 장기 실행 프로세스 인 Java 응용 프로그램이 있습니다. JBoss 6.1에 배포되었습니다. 우리는 URL로 이동하여 시작해야합니다 http://ip.ip.ip.ip:8080/MyApp/MonitorJava 응용 프로그램을 서비스로 실행

필요에 따라 시작/중지/다시 시작하는 기능이있는 cli를 통해 서비스로 실행할 수있는 방법이 있습니까?

답변

4

, 당신은 자동으로 시작할 때 응용 프로그램을 시작하고 JBoss를 서비스로 실행 http://community.jboss.org/wiki/JBossSystemService의 단계를 수행하기 위해 보스를 구성 할 수 있습니다.

JBoss 인스턴스에 다른 응용 프로그램이 있거나 전체 서버가 아닌 응용 프로그램 만 시작/중지하려면 Java Management Extensions를 사용하여 원격으로 JBoss 인스턴스에 연결하고 JMX를 사용하는 Java 응용 프로그램을 작성할 수 있습니다 응용 프로그램을 시작/중지하기 위해 JBoss에서 제공 한 Beans. JBoss JMX 인터페이스에 대한 자세한 내용은 http://docs.jboss.org/jbossas/jboss4guide/r2/html/ch2.chapter.html에서 확인할 수 있습니다. JBoss 4에 관한 내용입니다.하지만 JMX 지원이 새 버전에서는 제공되지 않는다고 생각합니다.

+0

JBoss가 시작될 때 응용 프로그램을 시작하도록 JBoss 인스턴스를 어떻게 구성합니까? 죄송합니다. 저는 Java를 처음 사용합니다. 이 앱을 올바르게 배포해야합니다. – HyderA

+0

기본 서버 구성을 사용하는 경우 JBoss는 모든 응용 프로그램을 deploy 디렉토리에 자동으로 배포해야합니다. 배포 방법은 http://community.jboss.org/wiki/JBossDeploy – Gandalf

+0

에서 확인할 수 있습니다. 배포는하지만 실제로 응용 프로그램을 실행하려면 URL로 이동해야합니다. – HyderA

0

콘솔 응용 프로그램으로 설정 하시겠습니까? 이는 JBoss 인스턴스에서 실행중인 유일한 응용 프로그램 인 경우

public static void main(String [] args) 
{ 
    doStuffThatMyAppMonitorNormallyDoes(); 
} 
0

java 명령을 사용하여 콘솔에서 직접 응용 프로그램에 대한 호출을 시작하십시오.

:

public class MonitorService{ 

.. 

public static void main(String[] args) { 
    if(args[0].equalsIgnoreCase("-start") 
    { 
    //Do start routine 
    } 
    else if(args[0].equalsIgnoreCase("-stop") 
    { 
    //Do stop routine 
    } 
} 

... 

} 

실행은 다음과 같이 프로그램.

Java MonitorService -start 
0

당신은 내가 당신의 자신의 래퍼 컨트롤러 클래스를 만들 수 (또는 어쩌면 YAJSW) 아파치 코 몬즈 데몬을 ​​사용하는 것이 좋습니다 것입니다

java service wrapper

0

를 사용하여 윈도우/유닉스 서비스를 설정할 수 있습니다. 예를 들면 shown here입니다. 래퍼 컨트롤러는 가공 - 데몬의 데몬 클래스를 확장하고 그것의 형태로 명령 행에서 실행 할 수 있습니다 : 당신은 또한 물론, 자신의 시스 트레이 객체를 가지고 예를 확장 할 수

java -cp . WrapperController.class -windowsStop 
java -cp . WrapperController.class -windowsStart 
java -cp . WrapperController.class -verify 

. 컨트롤러 클래스를 Beanshell 스크립트로 구현하여 미리 컴파일 된 클래스를 실행할 필요가 없도록 할 수도 있습니다.

관련 문제