Author: mturk
Date: Wed May 23 23:56:59 2007
New Revision: 541206
URL: http://svn.apache.org/viewvc?view=rev&rev=541206
Log:
Automatically detect CPU and 64-bit JVM version. This allows to install the
proper service wrapper for the JVM and CPU used.
Modified:
tomcat/trunk/bin/service.bat
Modified: tomcat/trunk/bin/service.bat
URL:
http://svn.apache.org/viewvc/tomcat/trunk/bin/service.bat?view=diff&rev=541206&r1=541205&r2=541206
==============================================================================
--- tomcat/trunk/bin/service.bat (original)
+++ tomcat/trunk/bin/service.bat Wed May 23 23:56:59 2007
@@ -15,30 +15,45 @@
rem ---------------------------------------------------------------------------
rem Guess CATALINA_HOME if not defined
+
+rem Make sure prerequisite environment variables are set
+if not "%JAVA_HOME%" == "" goto okJavaHome
+echo The JAVA_HOME environment variable is not defined
+echo This environment variable is needed to run this program
+goto end
+
+:okJavaHome
+
+rem Detect Java Version and CPU
+set JVM_PLATFORM=%PROCESSOR_ARCHITEW6432%
+if "%JVM_PLATFORM%" == "" set JVM_PLATFORM=%PROCESSOR_ARCHITECTURE%
+
+set EXECUTABLE_CPU=
+java -version 2>&1 | findstr /I 64-bit > NUL
+if not ERRORLEVEL == 1 set EXECUTABLE_CPU=%JVM_PLATFORM%\
+
set CURRENT_DIR=%cd%
if not "%CATALINA_HOME%" == "" goto gotHome
-set CATALINA_HOME=%cd%
-if exist "%CATALINA_HOME%\bin\tomcat6.exe" goto okHome
-rem CD to the upper dir
-cd ..
-set CATALINA_HOME=%cd%
+set CURRENT_DIR=.\
+if "%OS%" == "Windows_NT" set CURRENT_DIR=%~dp0%
+
+pushd %CURRENT_DIR%..
+set CATALINA_HOME=%CD%
+popd
+
:gotHome
-if exist "%CATALINA_HOME%\bin\tomcat6.exe" goto okHome
-echo The tomcat.exe was not found...
+if exist "%CATALINA_HOME%\bin\%EXECUTABLE_CPU%tomcat6.exe" goto okHome
+echo Tomcat6.exe for %JVM_PLATFORM% was not found...
echo The CATALINA_HOME environment variable is not defined correctly.
echo This environment variable is needed to run this program
goto end
-rem Make sure prerequisite environment variables are set
-if not "%JAVA_HOME%" == "" goto okHome
-echo The JAVA_HOME environment variable is not defined
-echo This environment variable is needed to run this program
-goto end
+
:okHome
if not "%CATALINA_BASE%" == "" goto gotBase
set CATALINA_BASE=%CATALINA_HOME%
:gotBase
-
-set EXECUTABLE=%CATALINA_HOME%\bin\tomcat6.exe
+
+set EXECUTABLE=%CATALINA_HOME%\bin\%EXECUTABLE_CPU%tomcat6.exe
rem Set default Service name
set SERVICE_NAME=Tomcat6
@@ -61,15 +76,15 @@
:doRemove
rem Remove the service
"%EXECUTABLE%" //DS//%SERVICE_NAME%
-echo The service '%SERVICE_NAME%' has been removed
+echo Service '%SERVICE_NAME%' has been removed
goto end
:doInstall
rem Install the service
-echo Installing the service '%SERVICE_NAME%' ...
-echo Using CATALINA_HOME: %CATALINA_HOME%
-echo Using CATALINA_BASE: %CATALINA_BASE%
-echo Using JAVA_HOME: %JAVA_HOME%
+echo Installing service '%SERVICE_NAME%' ...
+echo Using CATALINA_HOME: %CATALINA_HOME%
+echo Using CATALINA_BASE: %CATALINA_BASE%
+echo Using JAVA_HOME : %JAVA_HOME%
rem Use the environment variables as an example
rem Each command line option is prefixed with PR_
@@ -86,7 +101,8 @@
if exist "%PR_JVM%" goto foundJvm
set PR_JVM=auto
:foundJvm
-echo Using JVM: %PR_JVM%
+echo Using JVM : %PR_JVM%
+echo Using JVM_PLATFORM : %JVM_PLATFORM%
"%EXECUTABLE%" //IS//%SERVICE_NAME% --StartClass
org.apache.catalina.startup.Bootstrap --StopClass
org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop
if not errorlevel 1 goto installed
echo Failed installing '%SERVICE_NAME%' service
@@ -106,7 +122,7 @@
set PR_STDOUTPUT=auto
set PR_STDERROR=auto
"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions
"-Djava.io.tmpdir=%CATALINA_BASE%\temp" --JvmMs 128 --JvmMx 256
-echo The service '%SERVICE_NAME%' has been installed.
+echo Service '%SERVICE_NAME%' has been installed.
:end
cd %CURRENT_DIR%
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]