mirror of https://github.com/apache/activemq.git
https://issues.apache.org/activemq/browse/AMQ-2884 - shell stop when jmx is off
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@991517 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9eb93f1d6d
commit
cf1e9fbddf
|
@ -354,8 +354,9 @@ invokeJar(){
|
||||||
-Dactivemq.home=\"${ACTIVEMQ_HOME}\" \
|
-Dactivemq.home=\"${ACTIVEMQ_HOME}\" \
|
||||||
-Dactivemq.base=\"${ACTIVEMQ_BASE}\" \
|
-Dactivemq.base=\"${ACTIVEMQ_BASE}\" \
|
||||||
$ACTIVEMQ_CYGWIN \
|
$ACTIVEMQ_CYGWIN \
|
||||||
-jar \"${ACTIVEMQ_HOME}/bin/run.jar\" $COMMANDLINE_ARGS &"
|
-jar \"${ACTIVEMQ_HOME}/bin/run.jar\" $COMMANDLINE_ARGS &
|
||||||
RET="$?"
|
RET=\"\$?\"; APID=\"\$!\";
|
||||||
|
echo \$APID > $ACTIVEMQ_DATA_DIR/stop.pid" $DOIT_POSTFIX
|
||||||
else
|
else
|
||||||
$DOIT_PREFIX "$JAVACMD $ACTIVEMQ_OPTS $ACTIVEMQ_DEBUG_OPTS \
|
$DOIT_PREFIX "$JAVACMD $ACTIVEMQ_OPTS $ACTIVEMQ_DEBUG_OPTS \
|
||||||
-Dactivemq.classpath=\"${ACTIVEMQ_CLASSPATH}\" \
|
-Dactivemq.classpath=\"${ACTIVEMQ_CLASSPATH}\" \
|
||||||
|
@ -394,6 +395,23 @@ checkRunning(){
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
checkStopRunning(){
|
||||||
|
PID=$ACTIVEMQ_DATA_DIR/stop.pid
|
||||||
|
if [ -f "$PID" ]; then
|
||||||
|
if [ -z "$(cat $PID)" ];then
|
||||||
|
echo "ERROR: Pidfile '$PID' exists but contains no pid"
|
||||||
|
return 2
|
||||||
|
fi
|
||||||
|
if (ps -p $(cat $PID)|grep java >/dev/null);then
|
||||||
|
return 0;
|
||||||
|
else
|
||||||
|
return 1;
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
return 1;
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Check if ActiveMQ is running
|
# Check if ActiveMQ is running
|
||||||
#
|
#
|
||||||
# @RET : 0 => the activemq process is running
|
# @RET : 0 => the activemq process is running
|
||||||
|
@ -485,6 +503,15 @@ invoke_stop(){
|
||||||
echo -n "INFO: Waiting at least $ACTIVEMQ_KILL_MAXSECONDS seconds for regular process termination of pid '$(cat $ACTIVEMQ_PIDFILE)' : "
|
echo -n "INFO: Waiting at least $ACTIVEMQ_KILL_MAXSECONDS seconds for regular process termination of pid '$(cat $ACTIVEMQ_PIDFILE)' : "
|
||||||
FOUND="0"
|
FOUND="0"
|
||||||
for ((i=1; i <= ACTIVEMQ_KILL_MAXSECONDS ; i++));do
|
for ((i=1; i <= ACTIVEMQ_KILL_MAXSECONDS ; i++));do
|
||||||
|
|
||||||
|
if (! checkStopRunning);then
|
||||||
|
if (! checkRunning); then
|
||||||
|
echo " FINISHED"
|
||||||
|
FOUND="1"
|
||||||
|
fi
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
if (checkRunning);then
|
if (checkRunning);then
|
||||||
sleep 1
|
sleep 1
|
||||||
echo -n "."
|
echo -n "."
|
||||||
|
@ -509,6 +536,7 @@ invoke_stop(){
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
rm -f $ACTIVEMQ_PIDFILE >/dev/null 2>&1
|
rm -f $ACTIVEMQ_PIDFILE >/dev/null 2>&1
|
||||||
|
rm -f $ACTIVEMQ_DATA_DIR/stop.pid >/dev/null 2>&1
|
||||||
exit $RET
|
exit $RET
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue