Java Application Windows Service 등록법
일반적으로 Windows 에서의 Java Application은 Command Console을 사용하여 구동된다.
이 방식은 아래와 같은 단점을 가지고 있다.

1. 사용자 실수로 인해 Command Console에 Mouse Click이 발생하면 Application이 Hold됨.
2. 사용자가 Logout하면 해당 Application이 종료됨.
3. 특별히 제약이 없는 경우 터미널 서버나 원격 데스크탑 Application을 사용하여 같은 Application을 각 User별로 계속 구동할 수 있음.

이런 단점을 극복하기 위해 Unix에서는 Background Process로 구동시키면 되지만, Windows는 그 태생이 End User를 위한 DeskTop이기에 그 개념이 없다.

그와 유사한 개념이 Windows Service이다.

그러나 애석하게도 현재 JDK는 Windows Service를 사용하는 API를 제공하고 있지는 않다.

그로 인해 Apache나 InstallAnywhere등의 Application 벤더들은 그들만의 방법으로 Service등록을 가능하게 해서 사용하고 있는 실정이다.

지금 제시할 방법은 이러한 Java Application을 Windows Service로 등록하는 간단한 방법이다.

프로젝트에 적용중인 모듈에 적용하기 위해 여러자료를 찾다 발견한 매우 간단한 방법이다.

지금까지 제가 배포한 모듈의 경우 모두 이 방법을 사용해 서비스에 등록했다.

방법은 다음과 같다.

JavaService.exe 에 구동 Argument로 설정값을 넘겨주면 서비스 등록이 완료되게 된다.

실제 사용은 아래의 방법을 따른다.

1. JavaService.exe를 구한다.
2. 서비스 등록용 batch파일을 만든다. 아래는 필자가 사용하는 파일의 예이다.

C:JavaService -install MyApp %JAVA_HOME%jreinserverjvm.dll -Djava.class.path=.;C:MyAppclasses -start MyApp.StartApp -params INSTALL_DIR=C:MyAppr -out C:MyApplogsstdout.log -err C:MyApplogsstderr.log -auto

3. 서비스 해지용 batch파일을 만든다. 아래는 필자가 사용하는 파일의 예이다.

C:JavaService -uninstall MyApp

더 자새한 내용은 http://javaservice.objectweb.org/docs/description.html을 참고하기 바란다.
by 제이 | 2005/04/25 17:50 | JAVA, JSP 썅!! | 트랙백 | 덧글(4)
트랙백 주소 : http://jayclipse.egloos.com/tb/1243923
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by hoya at 2005/06/19 16:32
안녕하세요 오랜만에 들렀다 갑니다 역시 볼거리가 많네요^^
저는 자바에 관심이 많은 대학생입니다
앞으로도 계속 들를 께요~^^
Commented by 제이 at 2005/06/26 20:21
네..감사합니다...도움이 되셨다니 말이죠..^^
여러분들이 들어오시는 걸 보니까 꾸준히 자료를 올려야 겠네요...
많이 알고 있지는 않지만 적어도 제가 알고 있는 내용은 계속 올리겠습니다...^^
Commented by 바나나우유중독자 at 2007/09/10 14:30
java service 등록관련 포스팅을 찾다 여기까지 흘러들어왔네요..
많은 도움이 되었습니다. 감사합니다 ^_^;
Commented by 제이 at 2007/09/10 15:59
대부분 아실 내용인데 약간 정리한 것일 뿐인데요...^^
별 내용도 없는 글이 도움이 되셨다면 다행입니다.

:         :

:

비공개 덧글



<< 이전 페이지 다음 페이지 >>