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
|
||||
#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
|
||||
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
|
||||
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
|
||||
|
||||
|
|
|
@ -87,8 +87,8 @@ REM SET ACTIVEMQ_DEBUG_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:tra
|
|||
|
||||
set LOCALCLASSPATH=%ACTIVEMQ_HOME%\conf;%LOCALCLASSPATH%
|
||||
|
||||
|
||||
"%_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%
|
||||
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_TASK% %ACTIVEMQ_CMD_LINE_ARGS%
|
||||
|
||||
|
||||
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