blob: 689fb2a36833e551357e059364b578ab3751088d [file]
@REM
@REM Copyright 2005 The Apache Software Foundation
@REM
@REM Licensed under the Apache License, Version 2.0 (the "License");
@REM you may not use this file except in compliance with the License.
@REM 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 --------------------------------------------------------------------
@REM $Rev$ $Date$
@REM --------------------------------------------------------------------
@REM ---------------------------------------------------------------------------
@REM Start/Stop Batch file for Geronimo
@REM
@REM This batch file is based upon Tomcat's catalina.bat file to enable
@REM those familiar with Tomcat to quickly get started with Geronimo.
@REM
@REM This batch file can be used directly instead of startup.bat and
@REM shutdown.bat as they call this batch file anyway.
@REM
@REM You should not have to edit this file. If you wish to have environment
@REM variables set each time you run this batch file refer to the information
@REM on the setenv.bat file below.
@REM
@REM Invocation Syntax:
@REM
@REM geronimo command [geronimo_args]
@REM
@REM For detailed usage information, just run geronimo.bat without any
@REM arguments.
@REM
@REM Environment Variable Prequisites:
@REM
@REM GERONIMO_HOME May point at your Geronimo top-level directory.
@REM If not specified, this batch file will attempt to
@REM discover it relative to the location of this file.
@REM
@REM GERONIMO_BASE (Optional) Base directory for resolving dynamic portions
@REM of a Geronimo installation. If not present, resolves to
@REM the same directory that GERONIMO_HOME points to.
@REM
@REM GERONIMO_OPTS (Optional) Java runtime options (in addition to
@REM those set in JAVA_OPTS) used when the "start",
@REM "stop", or "run" command is executed.
@REM
@REM GERONIMO_TMPDIR (Optional) Directory path location of temporary directory
@REM the JVM should use (java.io.tmpdir). Defaults to
@REM %GERONIMO_BASE%\var\temp.
@REM
@REM GERONIMO_WIN_START_ARGS (Optional) additional arguments to the Windows
@REM START command when the "start" command
@REM is executed. E.G, you could set this to /MIN
@REM to start Geronimo in a minimized window.
@REM
@REM JAVA_HOME Points to your Java Development Kit installation.
@REM JAVA_HOME doesn't need to be set if JRE_HOME is set
@REM unless you use the "debug" command.
@REM It is mandatory either JAVA_HOME or JRE_HOME are set.
@REM
@REM JRE_HOME (Optional) Points to your Java Runtime Environment
@REM Set this if you wish to run Geronimo using the JRE
@REM instead of the JDK (except for the "debug" command).
@REM Defaults to JAVA_HOME if empty.
@REM It is mandatory either JAVA_HOME or JRE_HOME are set.
@REM
@REM JAVA_OPTS (Optional) Java runtime options used when the "start",
@REM "stop", or "run" command is executed.
@REM Also see the GERONIMO_OPTS environment variable.
@REM
@REM JDB_SRCPATH (Optional) The Source Path to be used by jdb debugger.
@REM Defaults to %GERONIMO_HOME%\src
@REM
@REM JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start"
@REM command is executed. The default is "8000".
@REM
@REM JPDA_OPTS (Optional) JPDA command line options.
@REM Only set this if you need to use some unusual JPDA
@REM command line options. This overrides the use of the
@REM other JPDA_* environment variables.
@REM Defaults to JPDA command line options contructed from
@REM the JPDA_ADDRESS, JPDA_SUSPEND and JPDA_TRANSPORT
@REM environment variables.
@REM
@REM JPDA_SUSPEND (Optional) Suspend the JVM before the main class is loaded.
@REM Valid values are 'y' and 'n'. The default is "n".
@REM
@REM JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start"
@REM command is executed. The default is "dt_socket".
@REM Note that "dt_socket" is the default instead of "dt_shmem"
@REM because eclipse does not support "dt_shmem".
@REM
@REM Troubleshooting execution of this batch file:
@REM
@REM GERONIMO_BATCH_ECHO (Optional) Environment variable that when set to
@REM "on" results in batch commands being echoed.
@REM
@REM GERONIMO_BATCH_PAUSE (Optional) Environment variable that when set to
@REM "on" results in each batch file to pause at the
@REM end of execution
@REM
@REM GERONIMO_ENV_INFO (Optional) Environment variable that when set to
@REM "on" (the default) outputs the values of
@REM GERONIMO_HOME, GERONIMO_BASE, GERONIMO_TMPDIR,
@REM JAVA_HOME and JRE_HOME before the command is
@REM issued. Set to "off" if you do not want this
@REM information displayed.
@REM
@REM Batch files called by this batch file:
@REM
@REM %GERONIMO_HOME%\bin\setenv.bat
@REM (Optional) This batch file is called if it is present.
@REM Its contents may set one or more of the above environment
@REM variables. It is preferable (to simplify migration to
@REM future Geronimo releases) to set environment variables
@REM in this file rather than modifying Geronimo's script files.
@REM
@REM %GERONIMO_HOME%\bin\setjavaenv.bat
@REM This batch file is called to set environment variables
@REM relating to the java or jdb exe file to call.
@REM This file should not need to be modified.
@REM
@REM Exit Codes:
@REM
@REM 0 - Success
@REM 1 - Error
@REM ---------------------------------------------------------------------------
@if "%GERONIMO_BATCH_ECHO%" == "on" echo on
@if not "%GERONIMO_BATCH_ECHO%" == "on" echo off
if "%OS%" == "Windows_NT" goto okOsCheck
echo Cannot process Geronimo command - you are running an unsupported operating system.
set ERRORLEVEL=1
goto end
:okOsCheck
setlocal
if not "%GERONIMO_HOME%" == "" goto resolveHome
@REM %~dp0 is expanded pathname of the current script
set GERONIMO_HOME=%~dp0..
@REM resolve .. and remove any trailing slashes
:resolveHome
set CURRENT_DIR=%cd%
cd %GERONIMO_HOME%
set GERONIMO_HOME=%cd%
cd %CURRENT_DIR%
:gotHome
if exist "%GERONIMO_HOME%\bin\geronimo.bat" goto okHome
echo The GERONIMO_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
set ERRORLEVEL=1
goto end
:okHome
@REM Get standard environment variables
@REM Users can optionally create this file to set environment variables.
if exist "%GERONIMO_HOME%\bin\setenv.bat" call "%GERONIMO_HOME%\bin\setenv.bat"
if not %errorlevel% == 0 goto end
@REM Get standard Java environment variables (based upon Tomcat's setclasspath.bat
@REM but renamed since Geronimo's classpath is set in the JAR manifest)
if exist "%GERONIMO_HOME%\bin\setjavaenv.bat" goto okSetJavaEnv
echo Cannot find %GERONIMO_HOME%\bin\setjavaenv.bat
echo This file is needed to run this program
set ERRORLEVEL=1
goto end
:okSetJavaEnv
set BASEDIR=%GERONIMO_HOME%
call "%GERONIMO_HOME%\bin\setJavaEnv.bat"
if not %errorlevel% == 0 goto end
if not "%GERONIMO_BASE%" == "" goto gotBase
set GERONIMO_BASE=%GERONIMO_HOME%
:gotBase
if not "%GERONIMO_TMPDIR%" == "" goto gotTmpdir
set GERONIMO_TMPDIR=%GERONIMO_BASE%\var\temp
:gotTmpdir
set _EXECJAVA=%_RUNJAVA%
@REM MAINCLASS required for jdb debugger as it requires the mainclass
@REM parameter. For other commands, the main class is obtained from
@REM the JAR manifest.
set MAINCLASS=org.apache.geronimo.system.main.Daemon
set JPDA=
set _JARFILE="%GERONIMO_HOME%"\bin\server.jar
if not ""%1"" == ""jpda"" goto noJpda
set JPDA=jpda
if not "%JPDA_SUSPEND%" == "" goto gotJpdaSuspend
set JPDA_SUSPEND=n
:gotJpdaSuspend
if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport
@REM Note that "dt_socket" is the default instead of "dt_shmem"
@REM because eclipse does not support "dt_shmem".
set JPDA_TRANSPORT=dt_socket
:gotJpdaTransport
if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
set JPDA_ADDRESS=8000
:gotJpdaAddress
if not "%JPDA_OPTS%" == "" goto gotJpdaOpts
set JPDA_OPTS=-Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
set GERONIMO_OPTS=%GERONIMO_OPTS% %JPDA_OPTS%
:gotJpdaOpts
shift
:noJpda
@REM ----- Execute The Requested Command ---------------------------------------
@if "%GERONIMO_ENV_INFO%" == "off" goto skipEnvInfo
echo Using GERONIMO_BASE: %GERONIMO_BASE%
echo Using GERONIMO_HOME: %GERONIMO_HOME%
echo Using GERONIMO_TMPDIR: %GERONIMO_TMPDIR%
if "%_REQUIRE_JDK%" == "1" echo Using JAVA_HOME: %JAVA_HOME%
if "%_REQUIRE_JDK%" == "0" echo Using JRE_HOME: %JRE_HOME%
if not "%JPDA%" == "jpda" goto skipJpdaEnvInfo
@REM output JPDA info to assist diagnosing JPDA debugger config issues.
echo Using JPDA_OPTS: %JPDA_OPTS%
:skipJpdaEnvInfo
:skipEnvInfo
if ""%1"" == ""debug"" goto doDebug
if ""%1"" == ""run"" goto doRun
if ""%1"" == ""start"" goto doStart
if ""%1"" == ""stop"" goto doStop
echo Usage: geronimo command [args]
echo commands:
echo debug Debug Geronimo in jdb debugger
echo jpda run Start Geronimo in foreground under JPDA debugger
echo jpda start Start Geronimo in background under JPDA debugger
echo run Start Geronimo in the current window
echo start Start Geronimo in a separate window
echo stop Stop Geronimo
echo.
echo args for debug, jpda run, jpda start, run and start commands:
echo --quiet No startup progress
echo --long Long startup progress
echo -v --verbose INFO log level
echo -vv --veryverbose DEBUG log level
echo --override Override configurations. USE WITH CAUTION!
echo --help Detailed help.
echo.
echo args for stop command:
echo --user Admin user
echo --password Admin password
echo --port RMI port to connect to
goto end
:doDebug
shift
set _EXECJAVA=%_RUNJDB%
if not "%JDB_OPTS%" == "" goto gotJdbOpts
set JDB=jdb
if not "%JDB_SRCPATH%" == "" goto gotJdbSrcPath
set JDB_SRCPATH=%GERONIMO_HOME%\src
:gotJdbSrcPath
echo Note: The jdb debugger will start Geronimo in another process and connect to it.
echo To terminate Geronimo when running under jdb, run the "geronimo stop" command
echo in another window. Do not use Ctrl-C as that will terminate the jdb client
echo (the debugger itself) but will not stop the Geronimo process.
goto execCmd
:doRun
shift
goto execCmd
:doStart
echo.
echo Starting Geronimo in a separate window...
shift
@REM use long format of startup progress to be consistent with
@REM the unix version of the start processing
set _LONG_OPT=--long
if not "%OS%" == "Windows_NT" goto noTitle
set _EXECJAVA=start "Geronimo" %GERONIMO_WIN_START_ARGS% %_RUNJAVA%
goto gotTitle
:noTitle
set _EXECJAVA=start %GERONIMO_WIN_START_ARGS% %_RUNJAVA%
:gotTitle
goto execCmd
:doStop
shift
set _JARFILE="%GERONIMO_HOME%"\bin\shutdown.jar
goto execCmd
:execCmd
@REM Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgs
@REM Execute Java with the applicable properties
if not "%JDB%" == "" goto doJDB
%_EXECJAVA% %JAVA_OPTS% %GERONIMO_OPTS% -Dorg.apache.geronimo.base.dir="%GERONIMO_BASE%" -Djava.io.tmpdir="%GERONIMO_TMPDIR%" -jar %_JARFILE% %_LONG_OPT% %CMD_LINE_ARGS%
goto end
:doJDB
%_EXECJAVA% %JAVA_OPTS% %GERONIMO_OPTS% -sourcepath "%JDB_SRCPATH%" -Dorg.apache.geronimo.base.dir="%GERONIMO_BASE%" -Djava.io.tmpdir="%GERONIMO_TMPDIR%" -classpath %_JARFILE% %MAINCLASS% %CMD_LINE_ARGS%
goto end
:end
@REM pause the batch file if GERONIMO_BATCH_PAUSE is set to 'on'
if "%GERONIMO_BATCH_PAUSE%" == "on" pause