/ Published in: DOS Batch
URL: https://gist.github.com/4271240
A DOS batch script to handle registering and controlling a JBoss service.
Expand |
Embed | Plain Text
@ECHO off SETLOCAL ENABLEDELAYEDEXPANSION CLS :: place this next to the run.bat in your JBoss distro and run it ECHO INFO: You may need to run this script as 'Administrator' user. ) ::------------------------------------------------------------------- :: Set TITLE, JBOSS_HOME, and DIRNAME variables ::------------------------------------------------------------------- SET "APPDIR=%DIRNAME%" SET "JBOSS_HOME=%JBOSS_HOME:bin\=%" ::------------------------------------------------------------------- :: Handle script args ::------------------------------------------------------------------- SET PICK=%~1 SET TITLETEXT=%SERVICENAME% Service Controller TITLE %TITLETEXT% ::------------------------------------------------------------------- :: Parse first script argument for service action :: If no args are passed then prompt user ::------------------------------------------------------------------- :MAKECHOICE ECHO.&ECHO.&ECHO. IF "%PICK%"=="" ( ECHO ----------------------------- ECHO Options menu: ECHO ----------------------------- ECHO [auto] Install and start service ECHO [install] Install service ECHO [start] Start service ECHO [stop] Stop service ECHO [remove] Remove or uninstall service ECHO [console] Run service as console ECHO [status] Query service status ECHO. ) ELSE ( ECHO Running silently since script has arguments. ) IF "%PICK%"=="" ( ECHO Empty answer. Try Again. pause GOTO :MAKECHOICE ) IF "%PICK%"=="auto" ( ECHO Choice fails without a second script argument passing service name. GOTO :END ) SET ACTION=Starting SET OPTION=-t GOTO :ACTIONSET ) IF "%PICK%"=="install" ( ECHO Choice fails without a second script argument passing service name. GOTO :END ) SET ACTION=Installing SET OPTION=-i GOTO :ACTIONSET ) IF "%PICK%"=="start" ( SET ACTION=Starting SET OPTION=-t GOTO :ACTIONSET ) IF "%PICK%"=="stop" ( SET ACTION=Stopping SET OPTION=-p GOTO :ACTIONSET ) IF "%PICK%"=="remove" ( SET ACTION=Uninstalling SET OPTION=-r GOTO :ACTIONSET ) IF "%PICK%"=="console" ( SET ACTION=Console SET OPTION=-c GOTO :ACTIONSET ) IF "%PICK%"=="status" ( SET ACTION=Querying SET OPTION=-q GOTO :ACTIONSET ) :ACTIONSET SET "WRAPPER_CONFIG_FILE=%JBOSS_HOME%\%APPDIR%\wrapper\wrapper.jboss.conf" ::------------------------------------------------------------------- :: Change back-slashes to forward-slashes before passing options to the wrapper ::------------------------------------------------------------------- SET WRAPPER_ARGS=%WRAPPER_ARGS:\=/% ::------------------------------------------------------------------- :: Info output ::------------------------------------------------------------------- ECHO. ECHO -- These variables are set by this script and passed to the service installation: ECHO JAVA_HOME=%JAVA_HOME% ECHO JBOSS_HOME=%JBOSS_HOME% ECHO APPDIR=%APPDIR% ECHO WRAPPER_CONFIG_FILE: %WRAPPER_CONFIG_FILE% ECHO WRAPPER_ARGS=%WRAPPER_ARGS% ECHO SERVICENAME=%SERVICENAME% ECHO ACTION=%ACTION% ECHO OPTION=%OPTION% ECHO. ::ECHO -- Before you install this service make sure that you properly configured the ::ECHO (It will default to running as the "Local System" user.) ECHO. ::------------------------------------------------------------------- :: Install service ::------------------------------------------------------------------- ECHO. IF "%PICK%"=="remove" ( DEL /Q servicename.txt ) IF "%PICK%"=="auto" ( :: when auto, perform 1 additional action ECHO. ECHO Registering service ... ECHO "%JAVA_HOME%\bin\java.exe" %WRAPPER_ARGS% -jar %JBOSS_HOME%\%APPDIR%\wrapper\wrapper.jar -i %WRAPPER_CONFIG_FILE% CALL "%JAVA_HOME%\bin\java.exe" %WRAPPER_ARGS% -jar %JBOSS_HOME%\%APPDIR%\wrapper\wrapper.jar -i %WRAPPER_CONFIG_FILE% CALL :WAIT ) ECHO. ECHO %ACTION% service ... ECHO "%JAVA_HOME%\bin\java.exe" %WRAPPER_ARGS% -jar %JBOSS_HOME%\%APPDIR%\wrapper\wrapper.jar %OPTION% %WRAPPER_CONFIG_FILE% CALL "%JAVA_HOME%\bin\java.exe" %WRAPPER_ARGS% -jar %JBOSS_HOME%\%APPDIR%\wrapper\wrapper.jar %OPTION% %WRAPPER_CONFIG_FILE% ECHO. ECHO. ECHO %ACTION% service ^"%SERVICENAME%^" is finished. ::------------------------------------------------------------------- :: Functions ::------------------------------------------------------------------- :GET_DIR SET "_TMPDIR=%~dp1" EXIT /B 0 :WAIT PING.exe -n 6 -w 1 127.0.0.1>nul EXIT /B 0 ::------------------------------------------------------------------- :: End script ::------------------------------------------------------------------- :END
You need to login to post a comment.
