Skip to content

Instantly share code, notes, and snippets.

@nicdoye
Last active August 23, 2017 15:10
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save nicdoye/4494624 to your computer and use it in GitHub Desktop.
Save nicdoye/4494624 to your computer and use it in GitHub Desktop.
Init script for activemq. Known to work on RHEL 6, probably works on RHEL 5 and SLES Relies on variables set in /etc/sysconfig/activemq
#!/bin/bash
#
# activemq Starts ActiveMQ.
#
#
# chkconfig: 345 88 12
# description: ActiveMQ is a JMS Messaging Queue Server.
### BEGIN INIT INFO
# Provides: activemq
### END INIT INFO
## Source function library.
. /etc/rc.d/init.d/functions
# Source LSB function library.
if [ -r /lib/lsb/init-functions ]; then
. /lib/lsb/init-functions
else
exit 1
fi
DISTRIB_ID=`lsb_release -i -s 2>/dev/null`
NAME="$(basename $0)"
unset ISBOOT
if [ "${NAME:0:1}" = "S" -o "${NAME:0:1}" = "K" ]; then
NAME="${NAME:3}"
ISBOOT="1"
fi
# For SELinux we need to use 'runuser' not 'su'
if [ -x "/sbin/runuser" ]; then
SU="/sbin/runuser"
else
SU="/bin/su"
fi
. /etc/sysconfig/activemq
RETVAL=0
umask 077
start() {
echo -n $"Starting ActiveMQ: "
$SU - $ACTIVEMQ_USER -c "${ACTIVEMQ_START}" >> $ACTIVEMQ_LOG 2>&1 &
RETVAL="$?"
if [ "$RETVAL" -eq 0 ]; then
log_success_msg
touch /var/lock/subsys/${NAME}
else
log_failure_msg
fi
return $RETVAL
}
stop() {
pkill -u activemq java
}
restart() {
stop
sleep 5
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
# Sample sysconfig file
# Oracle
JAVA_HOME=/usr/java/default
# IcedTea 7
#JAVA_HOME=/usr/lib/jvm/java-1.7.0
ACTIVEMQ_USER=activemq
ACTIVEMQ_BASE=/opt/activemq
ACTIVEMQ_START="${ACTIVEMQ_BASE}/bin/activemq start"
ACTIVEMQ_STOP="${ACTIVEMQ_BASE}/bin/activemq stop"
#ACTIVEMQ_LOG=/var/log/activemq/activemq.log
ACTIVEMQ_LOG=/dev/null
ACTIVEMQ_START="JAVA_HOME=${JAVA_HOME} ACTIVEMQ_OPTS=\"-Xmx8g -Dorg.apache.activemq.UseDedicatedTaskRunner=false\" ${ACTIVEMQ_START}"
export ACTIVEMQ_USER ACTIVEMQ_BASE ACTIVEMQ_START ACTIVEMQ_STOP ACTIVEMQ_LOG \
ACTIVEMQ_OPTS JAVA_HOME
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment