blob: f7aa2d15d3531d05f113b3ff627d367be01fc2cb [file] [log] [blame]
Guillaume Nodet05fac962009-04-27 10:01:58 +00001@echo off
2rem
3rem
4rem Licensed to the Apache Software Foundation (ASF) under one or more
5rem contributor license agreements. See the NOTICE file distributed with
6rem this work for additional information regarding copyright ownership.
7rem The ASF licenses this file to You under the Apache License, Version 2.0
8rem (the "License"); you may not use this file except in compliance with
9rem the License. You may obtain a copy of the License at
10rem
11rem http://www.apache.org/licenses/LICENSE-2.0
12rem
13rem Unless required by applicable law or agreed to in writing, software
14rem distributed under the License is distributed on an "AS IS" BASIS,
15rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16rem See the License for the specific language governing permissions and
17rem limitations under the License.
18rem
19rem
20rem $Id: servicemix.bat 979 2005-11-30 22:50:55Z bsnyder $
21rem
22
23if not "%ECHO%" == "" echo %ECHO%
24
25setlocal
26set DIRNAME=%~dp0%
27set PROGNAME=%~nx0%
28set ARGS=%*
29
30title ServiceMix
31
32goto BEGIN
33
34:warn
35 echo %PROGNAME%: %*
36goto :EOF
37
38:BEGIN
39
40rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
41
42if not "%SERVICEMIX_HOME%" == "" (
43 call :warn Ignoring predefined value for SERVICEMIX_HOME
44)
45set SERVICEMIX_HOME=%DIRNAME%..
46if not exist "%SERVICEMIX_HOME%" (
47 call :warn SERVICEMIX_HOME is not valid: %SERVICEMIX_HOME%
48 goto END
49)
50
51if not "%SERVICEMIX_BASE%" == "" (
52 if not exist "%SERVICEMIX_BASE%" (
53 call :warn SERVICEMIX_BASE is not valid: %SERVICEMIX_BASE%
54 goto END
55 )
56)
57if "%SERVICEMIX_BASE%" == "" (
58 set SERVICEMIX_BASE=%SERVICEMIX_HOME%
59)
60
61set LOCAL_CLASSPATH=%CLASSPATH%
62set DEFAULT_JAVA_OPTS=-server -Xmx512M -Dderby.system.home="%SERVICEMIX_BASE%\data\derby" -Dderby.storage.fileSyncTransactionLog=true -Dcom.sun.management.jmxremote
63set CLASSPATH=%LOCAL_CLASSPATH%;%SERVICEMIX_BASE%\conf
64set DEFAULT_JAVA_DEBUG_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
65
66if "%LOCAL_CLASSPATH%" == "" goto :SERVICEMIX_CLASSPATH_EMPTY
67 set CLASSPATH=%LOCAL_CLASSPATH%;%SERVICEMIX_BASE%\conf
68 goto :SERVICEMIX_CLASSPATH_END
69:SERVICEMIX_CLASSPATH_EMPTY
70 set CLASSPATH=%SERVICEMIX_BASE%\conf
71:SERVICEMIX_CLASSPATH_END
72
73rem Setup Servicemix Home
74if exist "%SERVICEMIX_HOME%\conf\servicemix-rc.cmd" call %SERVICEMIX_HOME%\conf\servicemix-rc.cmd
75if exist "%HOME%\servicemix-rc.cmd" call %HOME%\servicemix-rc.cmd
76
77rem Support for loading native libraries
78set PATH=%PATH%;%SERVICEMIX_BASE%\lib;%SERVICEMIX_HOME%\lib
79
80rem Setup the Java Virtual Machine
81if not "%JAVA%" == "" goto :Check_JAVA_END
82 set JAVA=java
83 if "%JAVA_HOME%" == "" call :warn JAVA_HOME not set; results may vary
84 if not "%JAVA_HOME%" == "" set JAVA=%JAVA_HOME%\bin\java
85 if not exist "%JAVA_HOME%" (
86 call :warn JAVA_HOME is not valid: "%JAVA_HOME%"
87 goto END
88 )
89:Check_JAVA_END
90
91if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS%
92
93if "%SERVICEMIX_DEBUG%" == "" goto :SERVICEMIX_DEBUG_END
94 rem Use the defaults if JAVA_DEBUG_OPTS was not set
95 if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%
96
97 set "JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%"
98 call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS%
99:SERVICEMIX_DEBUG_END
100
101if "%SERVICEMIX_PROFILER%" == "" goto :SERVICEMIX_PROFILER_END
102 set SERVICEMIX_PROFILER_SCRIPT=%SERVICEMIX_HOME%\conf\profiler\%SERVICEMIX_PROFILER%.cmd
103
104 if exist "%SERVICEMIX_PROFILER_SCRIPT%" goto :SERVICEMIX_PROFILER_END
105 call :warn Missing configuration for profiler '%SERVICEMIX_PROFILER%': %SERVICEMIX_PROFILER_SCRIPT%
106 goto END
107:SERVICEMIX_PROFILER_END
108
109rem Setup the classpath
110pushd "%SERVICEMIX_HOME%\lib"
111for %%G in (*.*) do call:APPEND_TO_CLASSPATH %%G
112popd
113goto CLASSPATH_END
114
115: APPEND_TO_CLASSPATH
116set filename=%~1
117set suffix=%filename:~-4%
118if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%SERVICEMIX_HOME%\lib\%filename%
119goto :EOF
120
121:CLASSPATH_END
122
123rem Execute the JVM or the load the profiler
124if "%SERVICEMIX_PROFILER%" == "" goto :RUN
125 rem Execute the profiler if it has been configured
126 call :warn Loading profiler script: %SERVICEMIX_PROFILER_SCRIPT%
127 call %SERVICEMIX_PROFILER_SCRIPT%
128
129:RUN
130 SET OPTS=-Dservicemix.startLocalConsole=true -Dservicemix.startRemoteShell=true
131 SET SHIFT=false
132 if "%1" == "console" goto :EXECUTE_CONSOLE
133 if "%1" == "server" goto :EXECUTE_SERVER
134 if "%1" == "client" goto :EXECUTE_CLIENT
135 goto :EXECUTE
136
137:EXECUTE_CONSOLE
138 SET SHIFT=true
139 goto :EXECUTE
140
141:EXECUTE_SERVER
142 SET OPTS="-Dservicemix.startLocalConsole=false -Dservicemix.startRemoteShell=true"
143 SET SHIFT=true
144 goto :EXECUTE
145
146:EXECUTE_CLIENT
147 SET OPTS="-Dservicemix.startLocalConsole=true -Dservicemix.startRemoteShell=false"
148 SET SHIFT=true
149 goto :EXECUTE
150
151:EXECUTE
152 if "%SHIFT%" == "true" SET ARGS=%2 %3 %4 %5 %6 %7 %8
153 if not "%SHIFT%" == "true" SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8
154 rem Execute the Java Virtual Machine
155 "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Dservicemix.home="%SERVICEMIX_HOME%" -Dservicemix.base="%SERVICEMIX_BASE%" -Djava.util.logging.config.file=%SERVICEMIX_BASE%\etc\java.util.logging.properties org.apache.servicemix.kernel.main.Main %ARGS%
156
157rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
158
159:END
160
161endlocal
162
163if not "%PAUSE%" == "" pause
164
165:END_NO_PAUSE
166