You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2010/06/30 10:28:17 UTC
svn commit: r959227 - /activemq/trunk/assembly/src/release/bin/activemq
Author: dejanb
Date: Wed Jun 30 08:28:16 2010
New Revision: 959227
URL: http://svn.apache.org/viewvc?rev=959227&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQ-2453 - improve stop procedure
Modified:
activemq/trunk/assembly/src/release/bin/activemq
Modified: activemq/trunk/assembly/src/release/bin/activemq
URL: http://svn.apache.org/viewvc/activemq/trunk/assembly/src/release/bin/activemq?rev=959227&r1=959226&r2=959227&view=diff
==============================================================================
--- activemq/trunk/assembly/src/release/bin/activemq (original)
+++ activemq/trunk/assembly/src/release/bin/activemq Wed Jun 30 08:28:16 2010
@@ -161,7 +161,7 @@ ACTIVEMQ_SSL_OPTS=""
# ActiveMQ tries to shutdown the broker by jmx,
# after a specified number of seconds send SIGKILL
-ACTIVEMQ_KILL_MAXSECONDS="300"
+ACTIVEMQ_KILL_MAXSECONDS=30
## END:DEFAULTCONFIG
@@ -332,7 +332,7 @@ invokeJar(){
echo "INFO: changing to user '$ACTIVEMQ_USER' to invoke java"
fi
# Execute java binary
- if [ -n "$PIDFILE" ];then
+ if [ -n "$PIDFILE" ] && [ "$PIDFILE" != "stop" ];then
$DOIT_PREFIX "cd $ACTIVEMQ_CONFIG_DIR; $JAVACMD $ACTIVEMQ_OPTS $ACTIVEMQ_DEBUG_OPTS \
-Dactivemq.classpath=\"${ACTIVEMQ_CLASSPATH}\" \
-Dactivemq.home=\"${ACTIVEMQ_HOME}\" \
@@ -343,7 +343,15 @@ invokeJar(){
echo \$APID > $PIDFILE;
echo \"INFO: pidfile created : '$PIDFILE' (pid '\$APID')\";exit \$RET" $DOIT_POSTFIX
RET="$?"
- else
+ elif [ -n "$PIDFILE" ] && [ "$PIDFILE" == "stop" ];then
+ $DOIT_PREFIX "cd $ACTIVEMQ_CONFIG_DIR; $JAVACMD $ACTIVEMQ_OPTS $ACTIVEMQ_DEBUG_OPTS \
+ -Dactivemq.classpath=\"${ACTIVEMQ_CLASSPATH}\" \
+ -Dactivemq.home=\"${ACTIVEMQ_HOME}\" \
+ -Dactivemq.base=\"${ACTIVEMQ_BASE}\" \
+ $ACTIVEMQ_CYGWIN \
+ -jar \"${ACTIVEMQ_HOME}/bin/run.jar\" $COMMANDLINE_ARGS &"
+ RET="$?"
+ else
$DOIT_PREFIX "cd $ACTIVEMQ_CONFIG_DIR; $JAVACMD $ACTIVEMQ_OPTS $ACTIVEMQ_DEBUG_OPTS \
-Dactivemq.classpath=\"${ACTIVEMQ_CLASSPATH}\" \
-Dactivemq.home=\"${ACTIVEMQ_HOME}\" \
@@ -467,12 +475,11 @@ invoke_stop(){
if ( checkRunning );then
ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS $ACTIVEMQ_SSL_OPTS"
COMMANDLINE_ARGS="$COMMANDLINE_ARGS $ACTIVEMQ_SUNJMX_CONTROL"
- invokeJar
+ invokeJar "stop"
RET="$?"
echo -n "INFO: Waiting at least $ACTIVEMQ_KILL_MAXSECONDS seconds for regular process termination of pid '$(cat $ACTIVEMQ_PIDFILE)' : "
FOUND="0"
-# for i in `seq 0 $ACTIVEMQ_KILL_MAXSECONDS` ;do
- for i in {1..$ACTIVEMQ_KILL_MAXSECONDS} ;do
+ for ((i=1; i <= ACTIVEMQ_KILL_MAXSECONDS ; i++));do
if (checkRunning);then
sleep 1
echo -n "."
@@ -483,6 +490,7 @@ invoke_stop(){
fi
done
if [ "$FOUND" -ne "1" ];then
+ echo
echo "INFO: Regular shutdown not successful, sending SIGKILL to process with pid '$(cat $ACTIVEMQ_PIDFILE)'"
kill -KILL $(cat $ACTIVEMQ_PIDFILE)
RET="1"
@@ -582,4 +590,4 @@ case "$1" in
;;
*)
invoke_task
-esac
+esac
\ No newline at end of file