You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ac...@apache.org on 2016/02/22 10:18:22 UTC
karaf git commit: [KARAF-4349] Use the same approach of KARAF-4330 in
karaf.bat script
Repository: karaf
Updated Branches:
refs/heads/master bc4760c18 -> 655639ac1
[KARAF-4349] Use the same approach of KARAF-4330 in karaf.bat script
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/655639ac
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/655639ac
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/655639ac
Branch: refs/heads/master
Commit: 655639ac1e19750053a565ea6c3fc6aeab5024a8
Parents: bc4760c
Author: Andrea Cosentino <an...@gmail.com>
Authored: Mon Feb 22 09:41:53 2016 +0100
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Mon Feb 22 09:41:53 2016 +0100
----------------------------------------------------------------------
.../src/main/resources/resources/bin/karaf.bat | 29 ++++++++++++++++++++
1 file changed, 29 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/655639ac/assemblies/features/base/src/main/resources/resources/bin/karaf.bat
----------------------------------------------------------------------
diff --git a/assemblies/features/base/src/main/resources/resources/bin/karaf.bat b/assemblies/features/base/src/main/resources/resources/bin/karaf.bat
index 8901cad..8b36998 100644
--- a/assemblies/features/base/src/main/resources/resources/bin/karaf.bat
+++ b/assemblies/features/base/src/main/resources/resources/bin/karaf.bat
@@ -211,6 +211,21 @@ if not "%JAVA%" == "" goto :Check_JAVA_END
set JAVA=%JAVA_HOME%\bin\java
:Check_JAVA_END
+:CheckRootInstance
+ set ROOT_INSTANCE_RUNNING=false
+ if exist "%KARAF_HOME%\instances\instance.properties" (
+ for /f "delims=" %%x in ( 'findstr "item.0.pid" "%KARAF_HOME%\instances\instance.properties" ' ) do @set pid=%%x
+ for /f "delims=" %%i in ( 'findstr "item.0.name" "%KARAF_HOME%\instances\instance.properties" ' ) do @set name=%%i
+ )
+ set ROOT_INSTANCE_PID=%pid:~13%
+
+ set ROOT_INSTANCE_NAME=%name:~14%
+ if not "%ROOT_INSTANCE_PID%"=="0" (
+ tasklist /fi "PID eq %ROOT_INSTANCE_PID%" /fi "STATUS eq running" /fo 2>NUL
+ if "%ERRORLEVEL%"=="0" set ROOT_INSTANCE_RUNNING=true
+ )
+
+
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.
@@ -268,6 +283,8 @@ goto :EOF
:CLASSPATH_END
+SET CHECK_ROOT_INSTANCE_RUNNING=true
+
rem Execute the JVM or the load the profiler
if "%KARAF_PROFILER%" == "" goto :RUN
rem Execute the profiler if it has been configured
@@ -292,15 +309,18 @@ if "%KARAF_PROFILER%" == "" goto :RUN
:EXECUTE_STOP
SET MAIN=org.apache.karaf.main.Stop
+ SET CHECK_ROOT_INSTANCE_RUNNING=false
shift
goto :RUN_LOOP
:EXECUTE_STATUS
SET MAIN=org.apache.karaf.main.Status
+ SET CHECK_ROOT_INSTANCE_RUNNING=false
shift
goto :RUN_LOOP
:EXECUTE_CONSOLE
+ SET CHECK_ROOT_INSTANCE_RUNNING=false
shift
goto :RUN_LOOP
@@ -317,6 +337,7 @@ if "%KARAF_PROFILER%" == "" goto :RUN
:EXECUTE_CLIENT
SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false
+ SET CHECK_ROOT_INSTANCE_RUNNING=false
shift
goto :RUN_LOOP
@@ -344,6 +365,10 @@ if "%KARAF_PROFILER%" == "" goto :RUN
MOVE /Y "%KARAF_HOME%\lib.next" "%KARAF_HOME%\lib"
)
+ SET IS_RUNNABLE=false
+ if "%ROOT_INSTANCE_RUNNING%" == "false" SET IS_RUNNABLE=true
+ if "%CHECK_ROOT_INSTANCE_RUNNING%" == "false" SET IS_RUNNABLE=true
+ if "%IS_RUNNABLE%" == "true" (
"%JAVA%" %JAVA_OPTS% %OPTS% ^
-classpath "%CLASSPATH%" ^
-Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed" ^
@@ -357,6 +382,10 @@ if "%KARAF_PROFILER%" == "" goto :RUN
-Dkaraf.data="%KARAF_DATA%" ^
-Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" ^
%KARAF_OPTS% %MAIN% %ARGS%
+ ) else (
+ echo There is a Root instance already running with name %ROOT_INSTANCE_NAME% and pid %ROOT_INSTANCE_PID%
+ goto :END
+ )
rem If KARAF_DAEMON is defined, auto-restart is bypassed and control given
rem back to the operating system