-@echo off\r
-rem\r
-rem\r
-rem Licensed to the Apache Software Foundation (ASF) under one or more\r
-rem contributor license agreements. See the NOTICE file distributed with\r
-rem this work for additional information regarding copyright ownership.\r
-rem The ASF licenses this file to You under the Apache License, Version 2.0\r
-rem (the "License"); you may not use this file except in compliance with\r
-rem the License. You may obtain a copy of the License at\r
-rem\r
-rem http://www.apache.org/licenses/LICENSE-2.0\r
-rem\r
-rem Unless required by applicable law or agreed to in writing, software\r
-rem distributed under the License is distributed on an "AS IS" BASIS,\r
-rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-rem See the License for the specific language governing permissions and\r
-rem limitations under the License.\r
-rem\r
-\r
-if not "%ECHO%" == "" echo %ECHO%\r
-\r
-setlocal\r
-set DIRNAME=%~dp0%\r
-set PROGNAME=%~nx0%\r
-set ARGS=%*\r
-\r
-rem Sourcing environment settings for karaf similar to tomcats setenv\r
-SET KARAF_SCRIPT="karaf.bat"\r
-if exist "%DIRNAME%setenv.bat" (\r
- call "%DIRNAME%setenv.bat"\r
-)\r
-\r
-rem Check console window title. Set to Karaf by default\r
-if not "%KARAF_TITLE%" == "" (\r
- title %KARAF_TITLE%\r
-) else (\r
- title Karaf\r
-)\r
-\r
-rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage\r
-if "%JAVA_MIN_MEM%" == "" (\r
- set JAVA_MIN_MEM=128M\r
-)\r
-if "%JAVA_MAX_MEM%" == "" (\r
- set JAVA_MAX_MEM=512M\r
-)\r
-\r
-goto BEGIN\r
-\r
-:warn\r
- echo %PROGNAME%: %*\r
-goto :EOF\r
-\r
-:BEGIN\r
-\r
-rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\r
-\r
-if not "%KARAF_HOME%" == "" (\r
- call :warn Ignoring predefined value for KARAF_HOME\r
-)\r
-set KARAF_HOME=%DIRNAME%..\r
-if not exist "%KARAF_HOME%" (\r
- call :warn KARAF_HOME is not valid: "%KARAF_HOME%"\r
- goto END\r
-)\r
-\r
-if not "%KARAF_BASE%" == "" (\r
- if not exist "%KARAF_BASE%" (\r
- call :warn KARAF_BASE is not valid: "%KARAF_BASE%"\r
- goto END\r
- )\r
-)\r
-if "%KARAF_BASE%" == "" (\r
- set "KARAF_BASE=%KARAF_HOME%"\r
-)\r
-\r
-if not "%KARAF_DATA%" == "" (\r
- if not exist "%KARAF_DATA%" (\r
- call :warn KARAF_DATA is not valid: "%KARAF_DATA%"\r
- goto END\r
- )\r
-)\r
-if "%KARAF_DATA%" == "" (\r
- set "KARAF_DATA=%KARAF_BASE%\data"\r
-)\r
-\r
-if not "%KARAF_ETC%" == "" (\r
- if not exist "%KARAF_ETC%" (\r
- call :warn KARAF_ETC is not valid: "%KARAF_ETC%"\r
- goto END\r
- )\r
-)\r
-if "%KARAF_ETC%" == "" (\r
- set "KARAF_ETC=%KARAF_BASE%\etc"\r
-)\r
-\r
-set LOCAL_CLASSPATH=%CLASSPATH%\r
-set JAVA_MODE=-server\r
-if not exist "%JAVA_HOME%\bin\server\jvm.dll" (\r
- if not exist "%JAVA_HOME%\jre\bin\server\jvm.dll" (\r
- echo WARNING: Running karaf on a Java HotSpot Client VM because server-mode is not available.\r
- echo Install Java Developer Kit to fix this.\r
- echo For more details see http://java.sun.com/products/hotspot/whitepaper.html#client\r
- set JAVA_MODE=-client\r
- )\r
-)\r
-set DEFAULT_JAVA_OPTS=%JAVA_MODE% -Xms%JAVA_MIN_MEM% -Xmx%JAVA_MAX_MEM% -Dderby.system.home="%KARAF_DATA%\derby" -Dderby.storage.fileSyncTransactionLog=true -Dcom.sun.management.jmxremote -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass\r
-\r
-rem Check some easily accessible MIN/MAX params for JVM mem usage\r
-if not "%JAVA_PERM_MEM%" == "" (\r
- set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:PermSize=%JAVA_PERM_MEM%\r
-)\r
-if not "%JAVA_MAX_PERM_MEM%" == "" (\r
- set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:MaxPermSize=%JAVA_MAX_PERM_MEM%\r
-)\r
-\r
-set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf\r
-set DEFAULT_JAVA_DEBUG_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005\r
-\r
-if "%LOCAL_CLASSPATH%" == "" goto :KARAF_CLASSPATH_EMPTY\r
- set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf\r
- goto :KARAF_CLASSPATH_END\r
-:KARAF_CLASSPATH_EMPTY\r
- set CLASSPATH=%KARAF_BASE%\conf\r
-:KARAF_CLASSPATH_END\r
-\r
-rem Setup Karaf Home\r
-if exist "%KARAF_HOME%\conf\karaf-rc.cmd" call %KARAF_HOME%\conf\karaf-rc.cmd\r
-if exist "%HOME%\karaf-rc.cmd" call %HOME%\karaf-rc.cmd\r
-\r
-rem Support for loading native libraries\r
-set PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib\r
-\r
-rem Setup the Java Virtual Machine\r
-if not "%JAVA%" == "" goto :Check_JAVA_END\r
- if not "%JAVA_HOME%" == "" goto :TryJDKEnd\r
- call :warn JAVA_HOME not set; results may vary\r
-:TryJRE\r
- start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment"\r
- if not exist __reg1.txt goto :TryJDK\r
- type __reg1.txt | find "CurrentVersion" > __reg2.txt\r
- if errorlevel 1 goto :TryJDK\r
- for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x\r
- if errorlevel 1 goto :TryJDK\r
- set JavaTemp=%JavaTemp%##\r
- set JavaTemp=%JavaTemp: ##=##%\r
- set JavaTemp=%JavaTemp: ##=##%\r
- set JavaTemp=%JavaTemp: ##=##%\r
- set JavaTemp=%JavaTemp: ##=##%\r
- set JavaTemp=%JavaTemp: ##=##%\r
- set JavaTemp=%JavaTemp:##=%\r
- del __reg1.txt\r
- del __reg2.txt\r
- start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\%JavaTemp%"\r
- if not exist __reg1.txt goto :TryJDK\r
- type __reg1.txt | find "JavaHome" > __reg2.txt\r
- if errorlevel 1 goto :TryJDK\r
- for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x\r
- if errorlevel 1 goto :TryJDK\r
- del __reg1.txt\r
- del __reg2.txt\r
- goto TryJDKEnd\r
-:TryJDK\r
- start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"\r
- if not exist __reg1.txt (\r
- goto TryRegJRE\r
- )\r
- type __reg1.txt | find "CurrentVersion" > __reg2.txt\r
- if errorlevel 1 (\r
- goto TryRegJRE\r
- )\r
- for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x\r
- if errorlevel 1 (\r
- goto TryRegJRE\r
- )\r
- set JavaTemp=%JavaTemp%##\r
- set JavaTemp=%JavaTemp: ##=##%\r
- set JavaTemp=%JavaTemp: ##=##%\r
- set JavaTemp=%JavaTemp: ##=##%\r
- set JavaTemp=%JavaTemp: ##=##%\r
- set JavaTemp=%JavaTemp: ##=##%\r
- set JavaTemp=%JavaTemp:##=%\r
- del __reg1.txt\r
- del __reg2.txt\r
- start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\%JavaTemp%"\r
- if not exist __reg1.txt (\r
- goto TryRegJRE\r
- )\r
- type __reg1.txt | find "JavaHome" > __reg2.txt\r
- if errorlevel 1 (\r
- goto TryRegJRE\r
- )\r
- for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x\r
- if errorlevel 1 (\r
- goto TryRegJRE\r
- )\r
- del __reg1.txt\r
- del __reg2.txt\r
-:TryRegJRE\r
- rem try getting the JAVA_HOME from registry\r
- FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment" /v CurrentVersion`) DO (\r
- set JAVA_VERSION=%%A\r
- )\r
- FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\%JAVA_VERSION%" /v JavaHome`) DO (\r
- set JAVA_HOME=%%A %%B\r
- )\r
- if not exist "%JAVA_HOME%" (\r
- goto TryRegJDK\r
- )\r
- goto TryJDKEnd\r
-:TryRegJDK\r
- rem try getting the JAVA_HOME from registry\r
- FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit" /v CurrentVersion`) DO (\r
- set JAVA_VERSION=%%A\r
- )\r
- FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit\%JAVA_VERSION%" /v JavaHome`) DO (\r
- set JAVA_HOME=%%A %%B\r
- )\r
- if not exist "%JAVA_HOME%" (\r
- call :warn Unable to retrieve JAVA_HOME from Registry\r
- )\r
- goto TryJDKEnd\r
-:TryJDKEnd\r
- if not exist "%JAVA_HOME%" (\r
- call :warn JAVA_HOME is not valid: "%JAVA_HOME%"\r
- goto END\r
- )\r
- set JAVA=%JAVA_HOME%\bin\java\r
-:Check_JAVA_END\r
-\r
-if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS%\r
-\r
-if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END\r
- if "%1" == "stop" goto :KARAF_DEBUG_END\r
- if "%1" == "client" goto :KARAF_DEBUG_END\r
- rem Use the defaults if JAVA_DEBUG_OPTS was not set\r
- if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%\r
-\r
- set "JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%"\r
- call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS%\r
-:KARAF_DEBUG_END\r
-\r
-if "%KARAF_PROFILER%" == "" goto :KARAF_PROFILER_END\r
- set KARAF_PROFILER_SCRIPT=%KARAF_HOME%\conf\profiler\%KARAF_PROFILER%.cmd\r
-\r
- if exist "%KARAF_PROFILER_SCRIPT%" goto :KARAF_PROFILER_END\r
- call :warn Missing configuration for profiler '%KARAF_PROFILER%': %KARAF_PROFILER_SCRIPT%\r
- goto END\r
-:KARAF_PROFILER_END\r
-\r
-rem Setup the classpath\r
-pushd "%KARAF_HOME%\lib"\r
-for %%G in (karaf*.jar) do call:APPEND_TO_CLASSPATH %%G\r
-popd\r
-goto CLASSPATH_END\r
-\r
-: APPEND_TO_CLASSPATH\r
-set filename=%~1\r
-set suffix=%filename:~-4%\r
-if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\lib\%filename%\r
-goto :EOF\r
-\r
-:CLASSPATH_END\r
-\r
-rem Execute the JVM or the load the profiler\r
-if "%KARAF_PROFILER%" == "" goto :RUN\r
- rem Execute the profiler if it has been configured\r
- call :warn Loading profiler script: %KARAF_PROFILER_SCRIPT%\r
- call %KARAF_PROFILER_SCRIPT%\r
-\r
-:RUN\r
- SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true\r
- SET MAIN=org.apache.karaf.main.Main\r
- SET SHIFT=false\r
-\r
-:RUN_LOOP\r
- if "%1" == "stop" goto :EXECUTE_STOP\r
- if "%1" == "status" goto :EXECUTE_STATUS\r
- if "%1" == "console" goto :EXECUTE_CONSOLE\r
- if "%1" == "server" goto :EXECUTE_SERVER\r
- if "%1" == "client" goto :EXECUTE_CLIENT\r
- if "%1" == "clean" goto :EXECUTE_CLEAN\r
- if "%1" == "debug" goto :EXECUTE_DEBUG\r
- goto :EXECUTE\r
-\r
-:EXECUTE_STOP\r
- SET MAIN=org.apache.karaf.main.Stop\r
- shift\r
- goto :RUN_LOOP\r
-\r
-:EXECUTE_STATUS\r
- SET MAIN=org.apache.karaf.main.Status\r
- shift\r
- goto :RUN_LOOP\r
-\r
-:EXECUTE_CONSOLE\r
- shift\r
- goto :RUN_LOOP\r
-\r
-:EXECUTE_SERVER\r
- SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true\r
- shift\r
- goto :RUN_LOOP\r
-\r
-:EXECUTE_CLIENT\r
- SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false\r
- shift\r
- goto :RUN_LOOP\r
-\r
-:EXECUTE_CLEAN\r
- rmdir /S /Q "%KARAF_DATA%"\r
- shift\r
- goto :RUN_LOOP\r
-\r
-:EXECUTE_DEBUG\r
- if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%\r
- set "JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%"\r
- shift\r
- goto :RUN_LOOP\r
-\r
-:EXECUTE\r
- SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8\r
- rem Execute the Java Virtual Machine\r
- cd "%KARAF_BASE%"\r
- "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed" -Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext" -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" -Djava.io.tmpdir="%KARAF_DATA%\tmp" -Dkaraf.data="%KARAF_DATA%" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" %KARAF_OPTS% %MAIN% %ARGS%\r
-\r
-rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\r
-\r
-:END\r
-\r
-endlocal\r
-\r
-if not "%PAUSE%" == "" pause\r
-\r
-:END_NO_PAUSE\r
-\r
+@echo off
+rem
+rem
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements. See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License. You may obtain a copy of the License at
+rem
+rem http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+rem
+
+if not "%ECHO%" == "" echo %ECHO%
+
+setlocal
+set DIRNAME=%~dp0%
+set PROGNAME=%~nx0%
+set ARGS=%*
+
+rem Sourcing environment settings for karaf similar to tomcats setenv
+SET KARAF_SCRIPT="karaf.bat"
+if exist "%DIRNAME%setenv.bat" (
+ call "%DIRNAME%setenv.bat"
+)
+
+rem Check console window title. Set to Karaf by default
+if not "%KARAF_TITLE%" == "" (
+ title %KARAF_TITLE%
+) else (
+ title Karaf
+)
+
+rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage
+if "%JAVA_MIN_MEM%" == "" (
+ set JAVA_MIN_MEM=128M
+)
+if "%JAVA_MAX_MEM%" == "" (
+ set JAVA_MAX_MEM=512M
+)
+
+goto BEGIN
+
+:warn
+ echo %PROGNAME%: %*
+goto :EOF
+
+:BEGIN
+
+rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+if not "%KARAF_HOME%" == "" (
+ call :warn Ignoring predefined value for KARAF_HOME
+)
+set KARAF_HOME=%DIRNAME%..
+if not exist "%KARAF_HOME%" (
+ call :warn KARAF_HOME is not valid: "%KARAF_HOME%"
+ goto END
+)
+
+if not "%KARAF_BASE%" == "" (
+ if not exist "%KARAF_BASE%" (
+ call :warn KARAF_BASE is not valid: "%KARAF_BASE%"
+ goto END
+ )
+)
+if "%KARAF_BASE%" == "" (
+ set "KARAF_BASE=%KARAF_HOME%"
+)
+
+if not "%KARAF_DATA%" == "" (
+ if not exist "%KARAF_DATA%" (
+ call :warn KARAF_DATA is not valid: "%KARAF_DATA%"
+ goto END
+ )
+)
+if "%KARAF_DATA%" == "" (
+ set "KARAF_DATA=%KARAF_BASE%\data"
+)
+
+if not "%KARAF_ETC%" == "" (
+ if not exist "%KARAF_ETC%" (
+ call :warn KARAF_ETC is not valid: "%KARAF_ETC%"
+ goto END
+ )
+)
+if "%KARAF_ETC%" == "" (
+ set "KARAF_ETC=%KARAF_BASE%\etc"
+)
+
+set LOCAL_CLASSPATH=%CLASSPATH%
+set JAVA_MODE=-server
+
+set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf
+set DEFAULT_JAVA_DEBUG_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
+
+if "%LOCAL_CLASSPATH%" == "" goto :KARAF_CLASSPATH_EMPTY
+ set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf
+ goto :KARAF_CLASSPATH_END
+:KARAF_CLASSPATH_EMPTY
+ set CLASSPATH=%KARAF_BASE%\conf
+:KARAF_CLASSPATH_END
+
+rem Setup Karaf Home
+if exist "%KARAF_HOME%\conf\karaf-rc.cmd" call %KARAF_HOME%\conf\karaf-rc.cmd
+if exist "%HOME%\karaf-rc.cmd" call %HOME%\karaf-rc.cmd
+
+rem Support for loading native libraries
+set PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib
+
+rem Setup the Java Virtual Machine
+if not "%JAVA%" == "" goto :Check_JAVA_END
+ if not "%JAVA_HOME%" == "" goto :TryJDKEnd
+ call :warn JAVA_HOME not set; results may vary
+:TryJRE
+ start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment"
+ if not exist __reg1.txt goto :TryJDK
+ type __reg1.txt | find "CurrentVersion" > __reg2.txt
+ if errorlevel 1 goto :TryJDK
+ for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x
+ if errorlevel 1 goto :TryJDK
+ set JavaTemp=%JavaTemp%##
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp:##=%
+ del __reg1.txt
+ del __reg2.txt
+ start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\%JavaTemp%"
+ if not exist __reg1.txt goto :TryJDK
+ type __reg1.txt | find "JavaHome" > __reg2.txt
+ if errorlevel 1 goto :TryJDK
+ for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x
+ if errorlevel 1 goto :TryJDK
+ del __reg1.txt
+ del __reg2.txt
+ goto TryJDKEnd
+:TryJDK
+ start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
+ if not exist __reg1.txt (
+ goto TryRegJRE
+ )
+ type __reg1.txt | find "CurrentVersion" > __reg2.txt
+ if errorlevel 1 (
+ goto TryRegJRE
+ )
+ for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x
+ if errorlevel 1 (
+ goto TryRegJRE
+ )
+ set JavaTemp=%JavaTemp%##
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp:##=%
+ del __reg1.txt
+ del __reg2.txt
+ start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\%JavaTemp%"
+ if not exist __reg1.txt (
+ goto TryRegJRE
+ )
+ type __reg1.txt | find "JavaHome" > __reg2.txt
+ if errorlevel 1 (
+ goto TryRegJRE
+ )
+ for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x
+ if errorlevel 1 (
+ goto TryRegJRE
+ )
+ del __reg1.txt
+ del __reg2.txt
+:TryRegJRE
+ rem try getting the JAVA_HOME from registry
+ FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment" /v CurrentVersion`) DO (
+ set JAVA_VERSION=%%A
+ )
+ FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\%JAVA_VERSION%" /v JavaHome`) DO (
+ set JAVA_HOME=%%A %%B
+ )
+ if not exist "%JAVA_HOME%" (
+ goto TryRegJDK
+ )
+ goto TryJDKEnd
+:TryRegJDK
+ rem try getting the JAVA_HOME from registry
+ FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit" /v CurrentVersion`) DO (
+ set JAVA_VERSION=%%A
+ )
+ FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit\%JAVA_VERSION%" /v JavaHome`) DO (
+ set JAVA_HOME=%%A %%B
+ )
+ if not exist "%JAVA_HOME%" (
+ call :warn Unable to retrieve JAVA_HOME from Registry
+ )
+ goto TryJDKEnd
+:TryJDKEnd
+ if not exist "%JAVA_HOME%" (
+ call :warn JAVA_HOME is not valid: "%JAVA_HOME%"
+ goto END
+ )
+ set JAVA=%JAVA_HOME%\bin\java
+:Check_JAVA_END
+
+if not exist "%JAVA_HOME%\bin\server\jvm.dll" (
+ if not exist "%JAVA_HOME%\jre\bin\server\jvm.dll" (
+ echo WARNING: Running Karaf on a Java HotSpot Client VM because server-mode is not available.
+ echo Install Java Developer Kit to fix this.
+ echo For more details see http://java.sun.com/products/hotspot/whitepaper.html#client
+ set JAVA_MODE=-client
+ )
+)
+
+set DEFAULT_JAVA_OPTS=%JAVA_MODE% -Xms%JAVA_MIN_MEM% -Xmx%JAVA_MAX_MEM% -Dderby.system.home="%KARAF_DATA%\derby" -Dderby.storage.fileSyncTransactionLog=true -Dcom.sun.management.jmxremote -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass
+
+if not "%ODL_JAVA_SECURITY_PROPERTIES%" == "" (
+ set DEFAULT_JAVA_OPTS=-Djava.security.properties="%ODL_JAVA_SECURITY_PROPERTIES%" %DEFAULT_JAVA_OPTS%
+) else (
+ set DEFAULT_JAVA_OPTS=-Djava.security.properties="%KARAF_ETC%\odl.java.security" %DEFAULT_JAVA_OPTS%
+)
+
+rem Check some easily accessible MIN/MAX params for JVM mem usage
+if not "%JAVA_PERM_MEM%" == "" (
+ set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:PermSize=%JAVA_PERM_MEM%
+)
+if not "%JAVA_MAX_PERM_MEM%" == "" (
+ set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:MaxPermSize=%JAVA_MAX_PERM_MEM%
+)
+
+if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS%
+
+if "%EXTRA_JAVA_OPTS%" == "" goto :KARAF_EXTRA_JAVA_OPTS_END
+ set JAVA_OPTS=%JAVA_OPTS% %EXTRA_JAVA_OPTS%
+:KARAF_EXTRA_JAVA_OPTS_END
+
+if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END
+ if "%1" == "stop" goto :KARAF_DEBUG_END
+ if "%1" == "client" goto :KARAF_DEBUG_END
+ rem Use the defaults if JAVA_DEBUG_OPTS was not set
+ if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%
+
+ set JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%
+ call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS%
+:KARAF_DEBUG_END
+
+if "%KARAF_PROFILER%" == "" goto :KARAF_PROFILER_END
+ set KARAF_PROFILER_SCRIPT=%KARAF_HOME%\conf\profiler\%KARAF_PROFILER%.cmd
+
+ if exist "%KARAF_PROFILER_SCRIPT%" goto :KARAF_PROFILER_END
+ call :warn Missing configuration for profiler '%KARAF_PROFILER%': %KARAF_PROFILER_SCRIPT%
+ goto END
+:KARAF_PROFILER_END
+
+rem Setup the classpath
+pushd "%KARAF_HOME%\lib"
+for %%G in (karaf*.jar) do call:APPEND_TO_CLASSPATH %%G
+popd
+goto CLASSPATH_END
+
+: APPEND_TO_CLASSPATH
+set filename=%~1
+set suffix=%filename:~-4%
+if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\lib\%filename%
+goto :EOF
+
+:CLASSPATH_END
+
+rem Execute the JVM or the load the profiler
+if "%KARAF_PROFILER%" == "" goto :RUN
+ rem Execute the profiler if it has been configured
+ call :warn Loading profiler script: %KARAF_PROFILER_SCRIPT%
+ call %KARAF_PROFILER_SCRIPT%
+
+:RUN
+ SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true
+ SET MAIN=org.apache.karaf.main.Main
+ SET SHIFT=false
+
+:RUN_LOOP
+ if "%1" == "stop" goto :EXECUTE_STOP
+ if "%1" == "status" goto :EXECUTE_STATUS
+ if "%1" == "console" goto :EXECUTE_CONSOLE
+ if "%1" == "server" goto :EXECUTE_SERVER
+ if "%1" == "client" goto :EXECUTE_CLIENT
+ if "%1" == "clean" goto :EXECUTE_CLEAN
+ if "%1" == "debug" goto :EXECUTE_DEBUG
+ goto :EXECUTE
+
+:EXECUTE_STOP
+ SET MAIN=org.apache.karaf.main.Stop
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE_STATUS
+ SET MAIN=org.apache.karaf.main.Status
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE_CONSOLE
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE_SERVER
+ SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE_CLIENT
+ SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE_CLEAN
+ rmdir /S /Q "%KARAF_DATA%"
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE_DEBUG
+ if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%
+ set JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE
+ SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8
+ rem Execute the Java Virtual Machine
+ cd "%KARAF_BASE%"
+ "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed" -Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext" -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" -Djava.io.tmpdir="%KARAF_DATA%\tmp" -Dkaraf.data="%KARAF_DATA%" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" %KARAF_OPTS% %MAIN% %ARGS%
+
+rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+:END
+
+endlocal
+
+if not "%PAUSE%" == "" pause
+
+:END_NO_PAUSE