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