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
73if "%OS%" == "Windows_NT" (
74  set "PROGNAME=%~nx0%"
75) else (
76  set "PROGNAME=domain.bat"
77)
78
79rem Setup JBoss specific properties
80set "JAVA_OPTS=-Dprogram.name=%PROGNAME% %JAVA_OPTS%"
81
82if "x%JAVA_HOME%" == "x" (
83  set  JAVA=java
84  echo JAVA_HOME is not set. Unexpected results may occur.
85  echo Set JAVA_HOME to the directory of your local JDK to avoid this message.
86) else (
87  if not exist "%JAVA_HOME%" (
88    echo JAVA_HOME "%JAVA_HOME%" path doesn't exist
89    goto END
90   ) else (
91     if not exist "%JAVA_HOME%\bin\java.exe" (
92       echo "%JAVA_HOME%\bin\java.exe" does not exist
93       goto END_NO_PAUSE
94     )
95      echo Setting JAVA property to "%JAVA_HOME%\bin\java"
96    set "JAVA=%JAVA_HOME%\bin\java"
97  )
98)
99
100rem set default modular jvm parameters
101setlocal EnableDelayedExpansion
102call "!DIRNAME!common.bat" :setDefaultModularJvmOptions "!PROCESS_CONTROLLER_JAVA_OPTS!"
103set "PROCESS_CONTROLLER_JAVA_OPTS=!PROCESS_CONTROLLER_JAVA_OPTS! !DEFAULT_MODULAR_JVM_OPTIONS!"
104call "!DIRNAME!common.bat" :setDefaultModularJvmOptions "!HOST_CONTROLLER_JAVA_OPTS!"
105set "HOST_CONTROLLER_JAVA_OPTS=!HOST_CONTROLLER_JAVA_OPTS! !DEFAULT_MODULAR_JVM_OPTIONS!"
106setlocal DisableDelayedExpansion
107
108rem Add -server to the JVM options, if supported
109"%JAVA%" -server -version 2>&1 | findstr /I hotspot > nul
110if not errorlevel == 1 (
111  set "PROCESS_CONTROLLER_JAVA_OPTS=%PROCESS_CONTROLLER_JAVA_OPTS% -server"
112  set "HOST_CONTROLLER_JAVA_OPTS=%HOST_CONTROLLER_JAVA_OPTS% -server"
113)
114
115rem Find run.jar, or we can't continue
116if exist "%JBOSS_HOME%\jboss-modules.jar" (
117    set "RUNJAR=%JBOSS_HOME%\jboss-modules.jar"
118) else (
119  echo Could not locate "%JBOSS_HOME%\jboss-modules.jar".
120  echo Please check that you are in the bin directory when running this script.
121  goto END
122)
123
124rem Setup directories, note directories with spaces do not work
125setlocal EnableDelayedExpansion
126set "CONSOLIDATED_OPTS=%JAVA_OPTS% %SERVER_OPTS%"
127set baseDirFound=false
128set configDirFound=false
129set logDirFound=false
130for %%a in (!CONSOLIDATED_OPTS!) do (
131   if !baseDirFound! == true (
132      set "JBOSS_BASE_DIR=%%~a"
133      set baseDirFound=false
134   )
135   if !configDirFound! == true (
136      set "JBOSS_CONFIG_DIR=%%~a"
137      set configDirFound=false
138   )
139   if !logDirFound! == true (
140      set "JBOSS_LOG_DIR=%%~a"
141      set logDirFound=false
142   )
143   if "%%~a" == "-Djboss.domain.base.dir" (
144       set baseDirFound=true
145   )
146   if "%%~a" == "-Djboss.domain.config.dir" (
147       set configDirFound=true
148   )
149   if "%%~a" == "-Djboss.domain.log.dir" (
150       set logDirFound=true
151   )
152)
153
154rem If the -Djava.security.manager is found, enable the -secmgr and include a bogus security manager for JBoss Modules to replace
155echo(!PROCESS_CONTROLLER_JAVA_OPTS! | findstr /r /c:"-Djava.security.manager" > nul && (
156  echo "ERROR: Support for using -Djava.security.manager has been removed. Please use -secmgr or set the environment variable SECMGR=true"
157  GOTO :EOF
158)
159setlocal DisableDelayedExpansion
160
161rem Setup JBoss specific properties
162
163rem Set default module root paths
164if "x%JBOSS_MODULEPATH%" == "x" (
165  set  "JBOSS_MODULEPATH=%JBOSS_HOME%\modules"
166)
167
168rem Set the domain base dir
169if "x%JBOSS_BASE_DIR%" == "x" (
170  set  "JBOSS_BASE_DIR=%JBOSS_HOME%\domain"
171)
172rem Set the domain log dir
173if "x%JBOSS_LOG_DIR%" == "x" (
174  set  "JBOSS_LOG_DIR=%JBOSS_BASE_DIR%\log"
175)
176rem Set the domain configuration dir
177if "x%JBOSS_CONFIG_DIR%" == "x" (
178  set  "JBOSS_CONFIG_DIR=%JBOSS_BASE_DIR%\configuration"
179)
180
181rem Set the module options
182set "MODULE_OPTS="
183if "%SECMGR%" == "true" (
184    set "MODULE_OPTS=-secmgr"
185)
186
187echo ===============================================================================
188echo.
189echo   JBoss Bootstrap Environment
190echo.
191echo   JBOSS_HOME: "%JBOSS_HOME%"
192echo.
193echo   JAVA: "%JAVA%"
194echo.
195echo   JAVA_OPTS: "%PROCESS_CONTROLLER_JAVA_OPTS%"
196echo.
197echo ===============================================================================
198echo.
199
200:RESTART
201"%JAVA%" %PROCESS_CONTROLLER_JAVA_OPTS% ^
202 "-Dorg.jboss.boot.log.file=%JBOSS_LOG_DIR%\process-controller.log" ^
203 "-Dlogging.configuration=file:%JBOSS_CONFIG_DIR%/logging.properties" ^
204    -jar "%JBOSS_HOME%\jboss-modules.jar" ^
205    %MODULE_OPTS% ^
206    -mp "%JBOSS_MODULEPATH%" ^
207     org.jboss.as.process-controller ^
208    -jboss-home "%JBOSS_HOME%" ^
209    -jvm "%JAVA%" ^
210    %MODULE_OPTS% ^
211    -mp "%JBOSS_MODULEPATH%" ^
212    -- ^
213    "-Dorg.jboss.boot.log.file=%JBOSS_LOG_DIR%\host-controller.log" ^
214    "-Dlogging.configuration=file:%JBOSS_CONFIG_DIR%/logging.properties" ^
215    %HOST_CONTROLLER_JAVA_OPTS% ^
216    -- ^
217    -default-jvm "%JAVA%" ^
218    %*
219
220if %errorlevel% equ 10 (
221	goto RESTART
222)
223
224:END
225if "x%NOPAUSE%" == "x" pause
226
227:END_NO_PAUSE
228