MyException - 我的异常网
当前位置:我的异常网» 系统运维 » Java应用程序登记到window服务

Java应用程序登记到window服务

www.MyException.Cn  网友分享于:2013-02-20  浏览:15次
Java应用程序注册到window服务

本文采用Java Service Wrapper工具进行把Java Apps注册到Window的服务列表中,这篇文章只是记录下来如何进行完成这个需求的,对其中用到的知识并没有详细的介绍,如有兴趣请大家到网上查找相关资料。

Java Service Wrapper官网:http://wrapper.tanukisoftware.com/doc/english/download.jsp

1、在bin目录下建立install-agent-service.bat和uninstall-agent-service.bat脚本

install-agent-service.bat

@echo off
setlocal

rem Copyright (c) 1999, 2006 Tanuki Software Inc.
rem
rem Java Service Wrapper general NT service install script
rem

if "%OS%"=="Windows_NT" goto nt
echo This script only works with NT-based versions of Windows.
goto :eof

:nt
rem
rem Find the application home.
rem
rem %~dp0 is location of current script under NT
set _REALPATH=%~dp0

rem Decide on the wrapper binary.
set _WRAPPER_BASE=wrapper
set _WRAPPER_EXE=%_REALPATH%%_WRAPPER_BASE%-windows-x86-32.exe
if exist "%_WRAPPER_EXE%" goto conf
set _WRAPPER_EXE=%_REALPATH%%_WRAPPER_BASE%-windows-x86-64.exe
if exist "%_WRAPPER_EXE%" goto conf
set _WRAPPER_EXE=%_REALPATH%%_WRAPPER_BASE%.exe
if exist "%_WRAPPER_EXE%" goto conf
echo Unable to locate a Wrapper executable using any of the following names:
echo %_REALPATH%%_WRAPPER_BASE%-windows-x86-32.exe
echo %_REALPATH%%_WRAPPER_BASE%-windows-x86-64.exe
echo %_REALPATH%%_WRAPPER_BASE%.exe
pause
goto :eof

rem
rem Find the wrapper.conf
rem
:conf
set _WRAPPER_CONF="%~f1"
if not %_WRAPPER_CONF%=="" goto startup
set _WRAPPER_CONF="%_REALPATH%..\conf\wrapper.conf"
echo _WRAPPER_CONF
rem
rem Install the Wrapper as an NT service.
rem
:startup
echo "%_WRAPPER_EXE%" -i %_WRAPPER_CONF%

"%_WRAPPER_EXE%" -i %_WRAPPER_CONF%
if not errorlevel 1 goto :eof
pause

uninstall-agent-service.ba

@echo off
setlocal

rem Copyright (c) 1999, 2006 Tanuki Software Inc.
rem
rem Java Service Wrapper general NT service uninstall script
rem

if "%OS%"=="Windows_NT" goto nt
echo This script only works with NT-based versions of Windows.
goto :eof

:nt
rem
rem Find the application home.
rem
rem %~dp0 is location of current script under NT

set _REALPATH=%~dp0

rem Decide on the wrapper binary.
set _WRAPPER_BASE=wrapper
set _WRAPPER_EXE=%_REALPATH%%_WRAPPER_BASE%-windows-x86-32.exe
if exist "%_WRAPPER_EXE%" goto conf
set _WRAPPER_EXE=%_REALPATH%%_WRAPPER_BASE%-windows-x86-64.exe
if exist "%_WRAPPER_EXE%" goto conf
set _WRAPPER_EXE=%_REALPATH%%_WRAPPER_BASE%.exe
if exist "%_WRAPPER_EXE%" goto conf
echo Unable to locate a Wrapper executable using any of the following names:
echo %_REALPATH%%_WRAPPER_BASE%-windows-x86-32.exe
echo %_REALPATH%%_WRAPPER_BASE%-windows-x86-64.exe
echo %_REALPATH%%_WRAPPER_BASE%.exe
pause
goto :eof

rem
rem Find the wrapper.conf
rem
:conf
set _WRAPPER_CONF="%~f1"
if not %_WRAPPER_CONF%=="" goto startup
set _WRAPPER_CONF="%_REALPATH%..\conf\wrapper.conf"

rem
rem Uninstall the Wrapper as an NT service.
rem
:startup
"%_WRAPPER_EXE%" -r %_WRAPPER_CONF%
if not errorlevel 1 goto :eof
pause




2、创建conf文件,其下编写wrapper.conf文件,设置变量在该文件中
# ------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ------------------------------------

#********************************************************************
# Wrapper Properties
#********************************************************************
#wrapper.lang.folder=../lang

set.AGENT_HOME=E:\InforGuard-AGENT
set.CLASSPATH=%LOCAL_CLASSPATH%;%AGENT_HOME%\lib
set.JAVA_HOME=%AGENT_HOME%\jre1.6

# Java Application
wrapper.working.dir=%AGENT_HOME%
wrapper.java.command=%JAVA_HOME%\bin\java

#wrapper.java.mainclass=org.trustie.loong.wrapper.Main
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp

wrapper.java.classpath.1=%AGENT_HOME%/lib/wrapper.jar
wrapper.java.classpath.2=%AGENT_HOME%/lib/log4j-1.2.14.jar
wrapper.java.classpath.3=%AGENT_HOME%/lib/adapter-os-linux-kylin.jar
wrapper.java.classpath.4=%AGENT_HOME%/lib/agent.jar
wrapper.java.classpath.5=%AGENT_HOME%/lib/dom4j-1.6.1.jar
wrapper.java.classpath.6=%AGENT_HOME%/lib/snmp4j-1.11.jar
wrapper.java.classpath.7=%AGENT_HOME%/lib/env/STAR.jar



wrapper.java.library.path.1=%AGENT_HOME%/lib/

# Application Parameters.  Add parameters as needed starting from 1
wrapper.app.parameter.1=com.cvicse.inforguard.utmp.collection.agent.AgentServer

# JVM Parameters
# note that n is the parameter number starting from 1.
#wrapper.java.additional.1=-Dutmp.home="%UTMP_HOME%"
wrapper.java.additional.2=-server -Xms64m -Xmx512m -XX:PermSize=64M -XX:MaxNewSize=256m
#wrapper.java.additional.3=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
#wrapper.java.additional.4=-Dcom.sun.management.jmxremote
# Uncomment to enable YourKit profiling
#wrapper.java.additional.n=-Xrunyjpagent

# Uncomment to enable remote debugging
#wrapper.java.additional.n=-Xdebug -Xnoagent -Djava.compiler=NONE
#wrapper.java.additional.n=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005

# Initial Java Heap Size (in MB)
wrapper.java.initmemory=64

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=512


#********************************************************************
# Wrapper Logging Properties
#********************************************************************
# Format of output for the console.  (See docs for formats)
wrapper.console.format=PM

# Log Level for console output.  (See docs for log levels)
wrapper.console.loglevel=INFO

# Log file to use for wrapper output logging.
wrapper.logfile=%AGENT_HOME%/logs/wrapper.log


# Format of output for the log file.  (See docs for formats)
wrapper.logfile.format=LPTM

# Log Level for log file output.  (See docs for log levels)
wrapper.logfile.loglevel=INFO

# Maximum size that the log file will be allowed to grow to before
#  the log is rolled. Size is specified in bytes.  The default value
#  of 0, disables log rolling.  May abbreviate with the 'k' (kb) or
#  'm' (mb) suffix.  For example: 10m = 10 megabytes.
wrapper.logfile.maxsize=10m

# Maximum number of rolled log files which will be allowed before old
#  files are deleted.  The default value of 0 implies no limit.
wrapper.logfile.maxfiles=5

# Log Level for sys/event log output.  (See docs for log levels)
wrapper.syslog.loglevel=NONE

#********************************************************************
# Wrapper Windows Properties
#********************************************************************
# Title to use when running as a console
wrapper.console.title=InforGuard AGENT

#********************************************************************
# Wrapper Windows NT/2000/XP Service Properties
#********************************************************************
# WARNING - Do not modify any of these properties when an application
#  using this configuration file has been installed as a service.
#  Please uninstall the service before modifying this section.  The
#  service can then be reinstalled.

# Name of the service
wrapper.ntservice.name=InforGuard AGENT

# Display name of the service
wrapper.ntservice.displayname=InforGuard AGENT Application

# Description of the service
wrapper.ntservice.description=InforGuard AGENT

# Service dependencies.  Add dependencies as needed starting from 1
wrapper.ntservice.dependency.1=

# Mode in which the service is installed.  AUTO_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START

# Allow the service to interact with the desktop.
wrapper.ntservice.interactive=false

wrapper.ping.timeout=30


3、拷贝jre1.6运行时环境到根目录下

4、拷贝wrapper.jar和wrapper-window-x86-32.dll到lib目录下


PS:

bin--------注册脚本以及卸载脚本、wrapper-window-x86-32.exe(32位和64位)

conf------脚本启动用到的变量在wrapper.conf中

lib目录下需要加入Java Service Wrapper工具的jar和dll文件,wrapper.jar、wrapper-windows-

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有