티스토리 뷰

자바 프로그램을 윈도우 서비스에 등록하는 방법입니다.
여러가지 방법이 있지만 가장 간단하고 편리한 Java Service를 사용하는 방법입니다.
 
  1. JavaService를 받는다.
 
  2. .bat 파일로 서비스 등록에 필요한 내용을 작성한다.
 
  3. 서비스 등록 .bat 파일 예


@set TARGET_APP=com.program.myprogram
@set JVM_PATH="C:\Program Files\Java\jre1.6.0_03\bin\client\jvm.dll"
@set MyProgram_BIN="C:\Program Files\MyProgram\bin"
@set OUT_LOG="C:\Program Files\MyProgram\log\stdout.log"
@set ERR_LOG="C:\Program Files\MyProgram\log\stderr.log"
 
@set CLASSPATH="C:\Program Files\MyProgram\lib\msbase.jar";%CLASSPATH%
@set CLASSPATH="C:\Program Files\MyProgram\lib\mssqlserver.jar";%CLASSPATH%
...
 
@JavaService.exe -install MyProgram %JVM_PATH% -Djava.class.path=%CLASSPATH% -Xms64M -Xmx128M -start %TARGET_APP% -out %OUT_LOG% -err %ERR_LOG% -current %MyProgram_BIN% -description "MyProgram Service"


각 변수는 다음과 같습니다.
     TARGET_APP : main() 이 포함된 클래스명입니다.

     JVM_PATH : 옵션에서 설명하겠지만 서비스 등록에 사용하는 jvm.dll 파일의 경로입니다.

     MyProgram_BIN : 서비스에 등록될 자바 프로그램의 실행 경로입니다.

     CLASSPATH : 자바 프로그램 실행에 필요한 클래스 파일들의 경로입니다.


 Java Service가 사용하는 각 옵션 값은 다음과 같습니다.
      -install MyProgram : 윈도우 서비스에 MyProgram 란 이름으로 등록
 
      %JVM_PATH% : Java 서비스 등록을 위해 사용하는 dll. JDK나 JRE가 설치된 곳에 있음.
                               {JDK_HOME}/jre/bin/[server|client]/jvm.dll
                               {JRE_HOME}/bin/[server|client]/jvm.dll
 
       -Djava.class.path : 프로그램 실행을 위한 Java Classpath.
      
       -Xms64M -Xmx128M : class path 이후에는 Java VM 옵션
 
       -start : main() 메소드가 있는 시작 클래스명
 
       -out : 서비스 등록 후 출력하는 로그
 
       -err : 서비스 등록 후 출력하는 에러 로그
 
       -current : 프로그램의 실행 위치
 
       -description : 서비스에 등록될때 해당 서비스의 설명 내용


위와 같은 .bat 파일을 만들어 실행을 하면 서비스로 등록이 됩니다.
등록된 서비스를 해제하기 위해서 아래와 같은 커맨드를 실행합니다.
.bat 파일로 만들어도 되고요.


JavaService.exe -uninstall MyProgram



댓글

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음



Total
Today
Yesterday
최근에 달린 댓글