mirror of https://github.com/apache/activemq.git
Added broker shutdown mechanism. Some exceptions are being thrown during shutdown, but doesn't seem to cause any problem. Printing of exceptions are currently disabled.
git-svn-id: https://svn.apache.org/repos/asf/incubator/activemq/trunk@357932 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
496be9c60e
commit
84a0179081
File diff suppressed because it is too large
Load Diff
|
@ -124,9 +124,10 @@ fi
|
||||||
# Uncomment to enable remote debugging
|
# Uncomment to enable remote debugging
|
||||||
#ACTIVEMQ_DEBUG_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
|
#ACTIVEMQ_DEBUG_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
|
||||||
|
|
||||||
|
#ACTIVEMQ_TASK="start"
|
||||||
if [ -n "$CYGHOME" ]; then
|
if [ -n "$CYGHOME" ]; then
|
||||||
exec "$JAVACMD" $ACTIVEMQ_DEBUG_OPTS $ACTIVEMQ_OPTS -classpath "" -Dactivemq.home="${ACTIVEMQ_HOME}" -Dcygwin.user.home="$CYGHOME" -jar ${ACTIVEMQ_HOME}/bin/run.jar $@
|
exec "$JAVACMD" $ACTIVEMQ_DEBUG_OPTS $ACTIVEMQ_OPTS -classpath "" -Dactivemq.home="${ACTIVEMQ_HOME}" -Dcygwin.user.home="$CYGHOME" -jar ${ACTIVEMQ_HOME}/bin/run.jar $ACTIVEMQ_TASK $@
|
||||||
else
|
else
|
||||||
exec "$JAVACMD" $ACTIVEMQ_DEBUG_OPTS $ACTIVEMQ_OPTS -classpath "" -Dactivemq.home="${ACTIVEMQ_HOME}" -jar ${ACTIVEMQ_HOME}/bin/run.jar $@
|
exec "$JAVACMD" $ACTIVEMQ_DEBUG_OPTS $ACTIVEMQ_OPTS -classpath "" -Dactivemq.home="${ACTIVEMQ_HOME}" -jar ${ACTIVEMQ_HOME}/bin/run.jar $ACTIVEMQ_TASK $@
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -87,8 +87,8 @@ REM SET ACTIVEMQ_DEBUG_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:tra
|
||||||
|
|
||||||
set LOCALCLASSPATH=%ACTIVEMQ_HOME%\conf;%LOCALCLASSPATH%
|
set LOCALCLASSPATH=%ACTIVEMQ_HOME%\conf;%LOCALCLASSPATH%
|
||||||
|
|
||||||
|
set ACTIVEMQ_TASK="start"
|
||||||
"%_JAVACMD%" %ACTIVEMQ_DEBUG_OPTS% %ACTIVEMQ_OPTS% -Djava.ext.dirs="%JAVA_EXT_DIRS%" -classpath "%LOCALCLASSPATH%" -Dactivemq.home="%ACTIVEMQ_HOME%" -jar %ACTIVEMQ_HOME%/bin/run.jar %ACTIVEMQ_ARGS% %ACTIVEMQ_CMD_LINE_ARGS%
|
"%_JAVACMD%" %ACTIVEMQ_DEBUG_OPTS% %ACTIVEMQ_OPTS% -Djava.ext.dirs="%JAVA_EXT_DIRS%" -classpath "%LOCALCLASSPATH%" -Dactivemq.home="%ACTIVEMQ_HOME%" -jar %ACTIVEMQ_HOME%/bin/run.jar %ACTIVEMQ_TASK% %ACTIVEMQ_CMD_LINE_ARGS%
|
||||||
|
|
||||||
|
|
||||||
goto end
|
goto end
|
||||||
|
|
|
@ -0,0 +1,133 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# ActiveMQ shell script
|
||||||
|
#
|
||||||
|
# $Id: activemq,v 1.1.1.1 2005/03/11 21:14:04 jstrachan Exp $
|
||||||
|
#
|
||||||
|
# This script is heavily based on the Ant script
|
||||||
|
#
|
||||||
|
# Copyright (c) 2001-2003 The Apache Software Foundation. All rights
|
||||||
|
# reserved.
|
||||||
|
|
||||||
|
# load system-wide activemq configuration
|
||||||
|
if [ -f "/etc/activemq.conf" ] ; then
|
||||||
|
. /etc/activemq.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
# provide default values for people who don't use RPMs
|
||||||
|
if [ -z "$usejikes" ] ; then
|
||||||
|
usejikes=false;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# load user activemq configuration
|
||||||
|
if [ -f "$HOME/.activemqrc" ] ; then
|
||||||
|
. "$HOME/.activemqrc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# OS specific support. $var _must_ be set to either true or false.
|
||||||
|
cygwin=false;
|
||||||
|
darwin=false;
|
||||||
|
case "`uname`" in
|
||||||
|
CYGWIN*) cygwin=true ;;
|
||||||
|
Darwin*) darwin=true
|
||||||
|
if [ -z "$JAVA_HOME" ] ; then
|
||||||
|
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -z "$ACTIVEMQ_HOME" ] ; then
|
||||||
|
# try to find ACTIVEMQ
|
||||||
|
if [ -d /opt/activemq ] ; then
|
||||||
|
ACTIVEMQ_HOME=/opt/activemq
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d "${HOME}/opt/activemq" ] ; then
|
||||||
|
ACTIVEMQ_HOME="${HOME}/opt/activemq"
|
||||||
|
fi
|
||||||
|
|
||||||
|
## resolve links - $0 may be a link to activemq's home
|
||||||
|
PRG="$0"
|
||||||
|
progname=`basename "$0"`
|
||||||
|
saveddir=`pwd`
|
||||||
|
|
||||||
|
# need this for relative symlinks
|
||||||
|
dirname_prg=`dirname "$PRG"`
|
||||||
|
cd "$dirname_prg"
|
||||||
|
|
||||||
|
while [ -h "$PRG" ] ; do
|
||||||
|
ls=`ls -ld "$PRG"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '.*/.*' > /dev/null; then
|
||||||
|
PRG="$link"
|
||||||
|
else
|
||||||
|
PRG=`dirname "$PRG"`"/$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
ACTIVEMQ_HOME=`dirname "$PRG"`/..
|
||||||
|
|
||||||
|
cd "$saveddir"
|
||||||
|
|
||||||
|
# make it fully qualified
|
||||||
|
ACTIVEMQ_HOME=`cd "$ACTIVEMQ_HOME" && pwd`
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
||||||
|
if $cygwin ; then
|
||||||
|
[ -n "$ACTIVEMQ_HOME" ] &&
|
||||||
|
ACTIVEMQ_HOME=`cygpath --unix "$ACTIVEMQ_HOME"`
|
||||||
|
[ -n "$JAVA_HOME" ] &&
|
||||||
|
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||||
|
[ -n "$CLASSPATH" ] &&
|
||||||
|
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$JAVACMD" ] ; then
|
||||||
|
if [ -n "$JAVA_HOME" ] ; then
|
||||||
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||||
|
# IBM's JDK on AIX uses strange locations for the executables
|
||||||
|
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||||
|
else
|
||||||
|
JAVACMD="$JAVA_HOME/bin/java"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
JAVACMD=`which java 2> /dev/null `
|
||||||
|
if [ -z "$JAVACMD" ] ; then
|
||||||
|
JAVACMD=java
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -x "$JAVACMD" ] ; then
|
||||||
|
echo "Error: JAVA_HOME is not defined correctly."
|
||||||
|
echo " We cannot execute $JAVACMD"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For Cygwin, switch paths to Windows format before running java
|
||||||
|
if $cygwin; then
|
||||||
|
ACTIVEMQ_HOME=`cygpath --windows "$ACTIVEMQ_HOME"`
|
||||||
|
JAVA_HOME=`cygpath --windows "$JAVA_HOME"`
|
||||||
|
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
||||||
|
CYGHOME=`cygpath --windows "$HOME"`
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ -n "ACTIVEMQ_OPTS" ] ; then
|
||||||
|
ACTIVEMQ_OPTS="-Xmx512M -Dderby.system.home=../data -Dderby.storage.fileSyncTransactionLog=true"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Uncomment to enable YourKit profiling
|
||||||
|
#ACTIVEMQ_DEBUG_OPTS="-Xrunyjpagent"
|
||||||
|
|
||||||
|
# Uncomment to enable remote debugging
|
||||||
|
#ACTIVEMQ_DEBUG_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
|
||||||
|
|
||||||
|
ACTIVEMQ_TASK="stop"
|
||||||
|
if [ -n "$CYGHOME" ]; then
|
||||||
|
exec "$JAVACMD" $ACTIVEMQ_DEBUG_OPTS $ACTIVEMQ_OPTS -classpath "" -Dactivemq.home="${ACTIVEMQ_HOME}" -Dcygwin.user.home="$CYGHOME" -jar ${ACTIVEMQ_HOME}/bin/run.jar $ACTIVEMQ_TASK $@
|
||||||
|
else
|
||||||
|
exec "$JAVACMD" $ACTIVEMQ_DEBUG_OPTS $ACTIVEMQ_OPTS -classpath "" -Dactivemq.home="${ACTIVEMQ_HOME}" -jar ${ACTIVEMQ_HOME}/bin/run.jar $ACTIVEMQ_TASK $@
|
||||||
|
fi
|
||||||
|
|
|
@ -0,0 +1,106 @@
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
REM ActiveMQ shell script
|
||||||
|
REM
|
||||||
|
REM $Id: shutdown.bat,v 1.1.1.1 2005/12/09 21:14:04 aco Exp $
|
||||||
|
REM
|
||||||
|
REM This script is heavily based on the Ant script
|
||||||
|
REM
|
||||||
|
REM Copyright (c) 2001-2003 The Apache Software Foundation. All rights
|
||||||
|
REM reserved.
|
||||||
|
|
||||||
|
if exist "%HOME%\activemqrc_pre.bat" call "%HOME%\activemqrc_pre.bat"
|
||||||
|
|
||||||
|
if "%OS%"=="Windows_NT" @setlocal
|
||||||
|
|
||||||
|
rem %~dp0 is expanded pathname of the current script under NT
|
||||||
|
set DEFAULT_ACTIVEMQ_HOME=%~dp0..
|
||||||
|
|
||||||
|
if "%ACTIVEMQ_HOME%"=="" set ACTIVEMQ_HOME=%DEFAULT_ACTIVEMQ_HOME%
|
||||||
|
set DEFAULT_ACTIVEMQ_HOME=
|
||||||
|
|
||||||
|
rem Slurp the command line arguments. This loop allows for an unlimited number
|
||||||
|
rem of arguments (up to the command line limit, anyway).
|
||||||
|
set ACTIVEMQ_CMD_LINE_ARGS=%1
|
||||||
|
if ""%1""=="""" goto doneStart
|
||||||
|
shift
|
||||||
|
:setupArgs
|
||||||
|
if ""%1""=="""" goto doneStart
|
||||||
|
set ACTIVEMQ_CMD_LINE_ARGS=%ACTIVEMQ_CMD_LINE_ARGS% %1
|
||||||
|
shift
|
||||||
|
goto setupArgs
|
||||||
|
rem This label provides a place for the argument list loop to break out
|
||||||
|
rem and for NT handling to skip to.
|
||||||
|
|
||||||
|
:doneStart
|
||||||
|
rem find ACTIVEMQ_HOME if it does not exist due to either an invalid value passed
|
||||||
|
rem by the user or the %0 problem on Windows 9x
|
||||||
|
if exist "%ACTIVEMQ_HOME%\README.txt" goto checkJava
|
||||||
|
|
||||||
|
rem check for activemq in Program Files on system drive
|
||||||
|
if not exist "%SystemDrive%\Program Files\activemq" goto checkSystemDrive
|
||||||
|
set ACTIVEMQ_HOME=%SystemDrive%\Program Files\activemq
|
||||||
|
goto checkJava
|
||||||
|
|
||||||
|
:checkSystemDrive
|
||||||
|
rem check for activemq in root directory of system drive
|
||||||
|
if not exist %SystemDrive%\activemq\README.txt goto checkCDrive
|
||||||
|
set ACTIVEMQ_HOME=%SystemDrive%\activemq
|
||||||
|
goto checkJava
|
||||||
|
|
||||||
|
:checkCDrive
|
||||||
|
rem check for activemq in C:\activemq for Win9X users
|
||||||
|
if not exist C:\activemq\README.txt goto noAntHome
|
||||||
|
set ACTIVEMQ_HOME=C:\activemq
|
||||||
|
goto checkJava
|
||||||
|
|
||||||
|
:noAntHome
|
||||||
|
echo ACTIVEMQ_HOME is set incorrectly or activemq could not be located. Please set ACTIVEMQ_HOME.
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:checkJava
|
||||||
|
set _JAVACMD=%JAVACMD%
|
||||||
|
set LOCALCLASSPATH=%CLASSPATH%
|
||||||
|
|
||||||
|
set JAVA_EXT_DIRS=%JAVA_HOME%\lib\ext;%ACTIVEMQ_HOME%;%ACTIVEMQ_HOME%\lib;%ACTIVEMQ_HOME%\lib\optional
|
||||||
|
|
||||||
|
if "%JAVA_HOME%" == "" goto noJavaHome
|
||||||
|
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
|
||||||
|
if "%_JAVACMD%" == "" set _JAVACMD=%JAVA_HOME%\bin\java.exe
|
||||||
|
goto runAnt
|
||||||
|
|
||||||
|
:noJavaHome
|
||||||
|
if "%_JAVACMD%" == "" set _JAVACMD=java.exe
|
||||||
|
echo.
|
||||||
|
echo Warning: JAVA_HOME environment variable is not set.
|
||||||
|
echo.
|
||||||
|
|
||||||
|
:runAnt
|
||||||
|
|
||||||
|
if "%ACTIVEMQ_OPTS%" == "" set ACTIVEMQ_OPTS=-Xmx512M -Dderby.system.home="..\data" -Dderby.storage.fileSyncTransactionLog=true
|
||||||
|
|
||||||
|
REM Uncomment to enable YourKit profiling
|
||||||
|
REM SET ACTIVEMQ_DEBUG_OPTS="-Xrunyjpagent"
|
||||||
|
|
||||||
|
REM Uncomment to enable remote debugging
|
||||||
|
REM SET ACTIVEMQ_DEBUG_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
|
||||||
|
|
||||||
|
set LOCALCLASSPATH=%ACTIVEMQ_HOME%\conf;%LOCALCLASSPATH%
|
||||||
|
|
||||||
|
set ACTIVEMQ_TASK="stop"
|
||||||
|
"%_JAVACMD%" %ACTIVEMQ_DEBUG_OPTS% %ACTIVEMQ_OPTS% -Djava.ext.dirs="%JAVA_EXT_DIRS%" -classpath "%LOCALCLASSPATH%" -jar %ACTIVEMQ_HOME%/bin/run.jar %ACTIVEMQ_TASK% %ACTIVEMQ_CMD_LINE_ARGS%
|
||||||
|
|
||||||
|
|
||||||
|
goto end
|
||||||
|
|
||||||
|
|
||||||
|
:end
|
||||||
|
set LOCALCLASSPATH=
|
||||||
|
set _JAVACMD=
|
||||||
|
set ACTIVEMQ_CMD_LINE_ARGS=
|
||||||
|
|
||||||
|
if "%OS%"=="Windows_NT" @endlocal
|
||||||
|
|
||||||
|
:mainEnd
|
||||||
|
if exist "%HOME%\activemqrc_post.bat" call "%HOME%\activemqrc_post.bat"
|
||||||
|
|
Loading…
Reference in New Issue