1@echo off 2rem ------------------------------------------------------------------------- 3rem JBoss Bootstrap Script for Windows 4rem ------------------------------------------------------------------------- 5 6rem $Id$ 7 8@if not "%ECHO%" == "" echo %ECHO% 9@if "%OS%" == "Windows_NT" setlocal 10rem Set to all parameters by default 11set SERVER_OPTS=%* 12 13if "%OS%" == "Windows_NT" ( 14 set "DIRNAME=%~dp0%" 15) else ( 16 set DIRNAME=.\ 17) 18 19pushd "%DIRNAME%.." 20set "RESOLVED_JBOSS_HOME=%CD%" 21popd 22 23 24 25setlocal EnableDelayedExpansion 26rem check for the security manager system property 27echo(!SERVER_OPTS! | findstr /r /c:"-Djava.security.manager" > nul 28if not errorlevel == 1 ( 29 echo ERROR: The use of -Djava.security.manager has been removed. Please use the -secmgr command line argument or SECMGR=true environment variable. 30 GOTO :EOF 31) 32setlocal DisableDelayedExpansion 33 34rem Read command-line args. 35:READ-ARGS 36if "%~1" == "" ( 37 goto MAIN 38) else if "%~1" == "-secmgr" ( 39 set SECMGR=true 40) 41shift 42goto READ-ARGS 43 44:MAIN 45 46if "x%JBOSS_HOME%" == "x" ( 47 set "JBOSS_HOME=%RESOLVED_JBOSS_HOME%" 48) 49 50pushd "%JBOSS_HOME%" 51set "SANITIZED_JBOSS_HOME=%CD%" 52popd 53 54if /i "%RESOLVED_JBOSS_HOME%" NEQ "%SANITIZED_JBOSS_HOME%" ( 55 echo. 56 echo WARNING: JBOSS_HOME may be pointing to a different installation - unpredictable results may occur. 57 echo. 58 echo JBOSS_HOME: "%JBOSS_HOME%" 59 echo. 60) 61 62rem Read an optional configuration file. 63if "x%DOMAIN_CONF%" == "x" ( 64 set "DOMAIN_CONF=%DIRNAME%domain.conf.bat" 65) 66if exist "%DOMAIN_CONF%" ( 67 echo Calling "%DOMAIN_CONF%" 68 call "%DOMAIN_CONF%" %* 69) else ( 70 echo Config file not found "%DOMAIN_CONF%" 71) 72 73set DIRNAME= 74 75if "%OS%" == "Windows_NT" ( 76 set "PROGNAME=%~nx0%" 77) else ( 78 set "PROGNAME=domain.bat" 79) 80 81rem Setup JBoss specific properties 82set "JAVA_OPTS=-Dprogram.name=%PROGNAME% %JAVA_OPTS%" 83 84if "x%JAVA_HOME%" == "x" ( 85 set JAVA=java 86 echo JAVA_HOME is not set. Unexpected results may occur. 87 echo Set JAVA_HOME to the directory of your local JDK to avoid this message. 88) else ( 89 if not exist "%JAVA_HOME%" ( 90 echo JAVA_HOME "%JAVA_HOME%" path doesn't exist 91 goto END 92 ) else ( 93 if not exist "%JAVA_HOME%\bin\java.exe" ( 94 echo "%JAVA_HOME%\bin\java.exe" does not exist 95 goto END_NO_PAUSE 96 ) 97 echo Setting JAVA property to "%JAVA_HOME%\bin\java" 98 set "JAVA=%JAVA_HOME%\bin\java" 99 ) 100) 101 102rem Add -server to the JVM options, if supported 103"%JAVA%" -server -version 2>&1 | findstr /I hotspot > nul 104if not errorlevel == 1 ( 105 set "PROCESS_CONTROLLER_JAVA_OPTS=%PROCESS_CONTROLLER_JAVA_OPTS% -server" 106 set "HOST_CONTROLLER_JAVA_OPTS=%HOST_CONTROLLER_JAVA_OPTS% -server" 107) 108 109rem Find run.jar, or we can't continue 110if exist "%JBOSS_HOME%\jboss-modules.jar" ( 111 set "RUNJAR=%JBOSS_HOME%\jboss-modules.jar" 112) else ( 113 echo Could not locate "%JBOSS_HOME%\jboss-modules.jar". 114 echo Please check that you are in the bin directory when running this script. 115 goto END 116) 117 118rem Setup directories, note directories with spaces do not work 119setlocal EnableDelayedExpansion 120set "CONSOLIDATED_OPTS=%JAVA_OPTS% %SERVER_OPTS%" 121set baseDirFound=false 122set configDirFound=false 123set logDirFound=false 124for %%a in (!CONSOLIDATED_OPTS!) do ( 125 if !baseDirFound! == true ( 126 set "JBOSS_BASE_DIR=%%~a" 127 set baseDirFound=false 128 ) 129 if !configDirFound! == true ( 130 set "JBOSS_CONFIG_DIR=%%~a" 131 set configDirFound=false 132 ) 133 if !logDirFound! == true ( 134 set "JBOSS_LOG_DIR=%%~a" 135 set logDirFound=false 136 ) 137 if "%%~a" == "-Djboss.domain.base.dir" ( 138 set baseDirFound=true 139 ) 140 if "%%~a" == "-Djboss.domain.config.dir" ( 141 set configDirFound=true 142 ) 143 if "%%~a" == "-Djboss.domain.log.dir" ( 144 set logDirFound=true 145 ) 146) 147 148rem If the -Djava.security.manager is found, enable the -secmgr and include a bogus security manager for JBoss Modules to replace 149echo(!PROCESS_CONTROLLER_JAVA_OPTS! | findstr /r /c:"-Djava.security.manager" > nul && ( 150 echo "ERROR: Support for using -Djava.security.manager has been removed. Please use -secmgr or set the environment variable SECMGR=true" 151 GOTO :EOF 152) 153setlocal DisableDelayedExpansion 154 155rem Setup JBoss specific properties 156 157rem Set default module root paths 158if "x%JBOSS_MODULEPATH%" == "x" ( 159 set "JBOSS_MODULEPATH=%JBOSS_HOME%\modules" 160) 161 162rem Set the domain base dir 163if "x%JBOSS_BASE_DIR%" == "x" ( 164 set "JBOSS_BASE_DIR=%JBOSS_HOME%\domain" 165) 166rem Set the domain log dir 167if "x%JBOSS_LOG_DIR%" == "x" ( 168 set "JBOSS_LOG_DIR=%JBOSS_BASE_DIR%\log" 169) 170rem Set the domain configuration dir 171if "x%JBOSS_CONFIG_DIR%" == "x" ( 172 set "JBOSS_CONFIG_DIR=%JBOSS_BASE_DIR%\configuration" 173) 174 175rem Set the module options 176set "MODULE_OPTS=" 177if "%SECMGR%" == "true" ( 178 set "MODULE_OPTS=-secmgr" 179) 180 181echo =============================================================================== 182echo. 183echo JBoss Bootstrap Environment 184echo. 185echo JBOSS_HOME: "%JBOSS_HOME%" 186echo. 187echo JAVA: "%JAVA%" 188echo. 189echo JAVA_OPTS: "%PROCESS_CONTROLLER_JAVA_OPTS%" 190echo. 191echo =============================================================================== 192echo. 193 194:RESTART 195"%JAVA%" %PROCESS_CONTROLLER_JAVA_OPTS% ^ 196 "-Dorg.jboss.boot.log.file=%JBOSS_LOG_DIR%\process-controller.log" ^ 197 "-Dlogging.configuration=file:%JBOSS_CONFIG_DIR%/logging.properties" ^ 198 -jar "%JBOSS_HOME%\jboss-modules.jar" ^ 199 %MODULE_OPTS% ^ 200 -mp "%JBOSS_MODULEPATH%" ^ 201 org.jboss.as.process-controller ^ 202 -jboss-home "%JBOSS_HOME%" ^ 203 -jvm "%JAVA%" ^ 204 %MODULE_OPTS% ^ 205 -mp "%JBOSS_MODULEPATH%" ^ 206 -- ^ 207 "-Dorg.jboss.boot.log.file=%JBOSS_LOG_DIR%\host-controller.log" ^ 208 "-Dlogging.configuration=file:%JBOSS_CONFIG_DIR%/logging.properties" ^ 209 %HOST_CONTROLLER_JAVA_OPTS% ^ 210 -- ^ 211 -default-jvm "%JAVA%" ^ 212 %* 213 214if %errorlevel% equ 10 ( 215 goto RESTART 216) 217 218:END 219if "x%NOPAUSE%" == "x" pause 220 221:END_NO_PAUSE 222