JBOSS在windows,以windows服務運行,配置以下:html
下載 jboss-native包,並解壓縮到 %JBOSS_HOME%/bin目錄
web
http://www.jboss.org/jbossweb/downloads/jboss-native-2-0-10shell
用編輯器修改bin目錄下的service.batwindows
set SVCNAME=windows 服務實例名, 例如JBAS71SVC,不能跟現有服務重複編輯器
set SVCDISP=windows服務名稱, 例如 JBoss Application Server 7.1ui
set SVCDESC=windows服務描述, 例如JBoss Application Server 7.1.1 GA/Platform: Windows x86spa
設置JAVA_HOME環境變量(如未配置)rest
全局替換run.bat爲standalone.bat(腳本默認是調用run.bat,須要咱們根據須要指定)code
找到cmdstop下面的call shutdown命令, 把它註釋掉,由於當bin目錄中沒有shutdown腳本,那麼就會調用系統的shutdown程序,致使系統關機,因此這個步驟尤其重要。註釋後,添加jboss-cli.bat的關閉命令,修改後以下:orm
REM call shutdown -S < .s.lock >> shutdown.log 2>&1 call jboss-cli.bat --connect command=:shutdown >> shutdown.log 2>&1
保存service.bat 並退出。
運行 service install 安裝服務
net start [windows 服務實例名, 此例子爲JBAS71SVC]
若須要關閉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