JBOSS AS7配置windows服务

JBOSS在windows,以windows服务运行,配置如下:


  1. 下载 jboss-native包,并解压缩到 %JBOSS_HOME%/bin目录

    http://www.jboss.org/jbossweb/downloads/jboss-native-2-0-10

  2. 用编辑器修改bin目录下的service.bat

    1. set SVCNAME=windows 服务实例名, 例如JBAS71SVC,不能跟现有服务重复

    2. set SVCDISP=windows服务名称, 例如 JBoss Application Server 7.1

    3. set SVCDESC=windows服务描述, 例如JBoss Application Server 7.1.1 GA/Platform: Windows x86

  3. 设置JAVA_HOME环境变量(如未配置)

  4. 全局替换run.bat为standalone.bat(脚本默认是调用run.bat,需要我们根据需要指定)

  5. 找到cmdstop下面的call shutdown命令, 把它注释掉,因为当bin目录中没有shutdown脚本,那么就会调用系统的shutdown程序,导致系统关机,所以这个步骤尤为重要。注释后,添加jboss-cli.bat的关闭命令,修改后如下:

    1. REM call shutdown -S < .s.lock >> shutdown.log 2>&1
      call jboss-cli.bat --connect command=:shutdown >> shutdown.log 2>&1
  6. 保存service.bat 并退出。

  7. 运行 service install 安装服务

  8. net start [windows 服务实例名, 此例子为JBAS71SVC]

  9. 若需要关闭jboss则调用net stop <服务名,例如JBAS71SV>


附 service.bat仅供参考

@echo off
REM JBoss, the OpenSource webOS
REM
REM Distributable under LGPL license.
REM See terms of license at gnu.org.
REM
REM -------------------------------------------------------------------------
REM JBoss Service Script for Windows
REM -------------------------------------------------------------------------


@if not "%ECHO%" == "" echo %ECHO%
@if "%OS%" == "Windows_NT" setlocal
set DIRNAME=%CD%

REM
REM VERSION, VERSION_MAJOR and VERSION_MINOR are populated
REM during the build with ant filter.
REM
set SVCNAME=JBAS71SVC
set SVCDISP=JBoss Application Server 7.1
set SVCDESC=JBoss Application Server 7.1.1 GA/Platform: Windows x86
set NOPAUSE=Y

REM Suppress killing service on logoff event
set JAVA_OPTS=-Xrs

REM Figure out the running mode

if /I "%1" == "install"   goto cmdInstall
if /I "%1" == "uninstall" goto cmdUninstall
if /I "%1" == "start"     goto cmdStart
if /I "%1" == "stop"      goto cmdStop
if /I "%1" == "restart"   goto cmdRestart
if /I "%1" == "signal"    goto cmdSignal
echo Usage: service install^|uninstall^|start^|stop^|restart^|signal
goto cmdEnd

REM jbosssvc retun values
REM ERR_RET_USAGE           1
REM ERR_RET_VERSION         2
REM ERR_RET_INSTALL         3
REM ERR_RET_REMOVE          4
REM ERR_RET_PARAMS          5
REM ERR_RET_MODE            6

:errExplain
if errorlevel 1 echo Invalid command line parameters
if errorlevel 2 echo Failed installing %SVCDISP%
if errorlevel 4 echo Failed removing %SVCDISP%
if errorlevel 6 echo Unknown service mode for %SVCDISP%
goto cmdEnd

:cmdInstall
jbosssvc.exe -imwdc %SVCNAME% "%DIRNAME%" "%SVCDISP%" "%SVCDESC%" service.bat
if not errorlevel 0 goto errExplain
echo Service %SVCDISP% installed
goto cmdEnd

:cmdUninstall
jbosssvc.exe -u %SVCNAME%
if not errorlevel 0 goto errExplain
echo Service %SVCDISP% removed
goto cmdEnd

:cmdStart
REM Executed on service start
del .r.lock 2>&1 | findstr /C:"being used" > nul
if not errorlevel 1 (
  echo Could not continue. Locking file already in use.
  goto cmdEnd
)
echo Y > .r.lock
jbosssvc.exe -p 1 "Starting %SVCDISP%" > run.log
call standalone.bat < .r.lock >> run.log 2>&1
jbosssvc.exe -p 1 "Shutdown %SVCDISP% service" >> run.log
del .r.lock
goto cmdEnd

:cmdStop
REM Executed on service stop
echo Y > .s.lock
jbosssvc.exe -p 1 "Shutting down %SVCDISP%" > shutdown.log
REM call shutdown -S < .s.lock >> shutdown.log 2>&1
call jboss-cli.bat --connect command=:shutdown >> shutdown.log 2>&1
jbosssvc.exe -p 1 "Shutdown %SVCDISP% service" >> shutdown.log
del .s.lock
goto cmdEnd

:cmdRestart
REM Executed manually from command line
REM Note: We can only stop and start
echo Y > .s.lock
jbosssvc.exe -p 1 "Shutting down %SVCDISP%" >> shutdown.log
call shutdown -S < .s.lock >> shutdown.log 2>&1
del .s.lock
:waitRun
REM Delete lock file
del .r.lock > nul 2>&1
REM Wait one second if lock file exist
jbosssvc.exe -s 1
if exist ".r.lock" goto waitRun
echo Y > .r.lock
jbosssvc.exe -p 1 "Restarting %SVCDISP%" >> run.log
call standalone.bat < .r.lock >> run.log 2>&1
jbosssvc.exe -p 1 "Shutdown %SVCDISP% service" >> run.log
del .r.lock
goto cmdEnd

:cmdSignal
REM Send signal to the service.
REM Requires jbosssch.dll to be loaded in JVM
@if not ""%2"" == """" goto execSignal
echo Missing signal parameter.
echo Usage: service signal [0...9]
goto cmdEnd
:execSignal
jbosssvc.exe -k%2 %SVCNAME%
goto cmdEnd

:cmdEnd


参考:

https://community.jboss.org/wiki/RunningJBossAS7AsAWindowsService

http://www.jboss.org/jbossweb/install/service.html




你可能感兴趣的:(jboss)