Skip to content
Snippets Groups Projects
dm-glassfish 2.62 KiB
Newer Older
sveseli's avatar
sveseli committed
#! /bin/sh
### BEGIN INIT INFO
# Provides:          glassfish
# Required-Start:    $remote_fs $network $syslog
# Required-Stop:     $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts GlassFish
# Description:       Starts GlassFish application server
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Set root to default if needed.
MY_DIR=`dirname $0` && cd $MY_DIR && MY_DIR=`pwd`
if [ -z "${DM_ROOT_DIR}" ]; then
    DM_ROOT_DIR=$MY_DIR/../..
fi
        
# Source environment file.
DM_USER=`id -nu`
DM_HOST=`hostname -s`
DM_ENV_FILE=${DM_ROOT_DIR}/setup.sh
if [ ! -f ${DM_ENV_FILE} ]; then
    echo "Environment file ${DM_ENV_FILE} does not exist." 
    exit 2
fi
. ${DM_ENV_FILE} > /dev/null

export AS_JAVA=$DM_OPT_DIR/java/$DM_HOST_ARCH
DM_GLASSFISH_DIR=$DM_OPT_DIR/glassfish
DERBY_DIR=$DM_OPT_DIR/glassfish/javadb/bin
sveseli's avatar
sveseli committed

DM_DAEMON_NAME=glassfish
DM_DAEMON_CONTROL_CMD=$DM_GLASSFISH_DIR/bin/asadmin
DM_DAEMON_START_ARGS="start-domain domain1"
DM_DAEMON_STOP_ARGS="stop-domain domain1"
DM_DAEMON_STATUS_CMDS="uptime list-domains list-applications list-jdbc-resources"

start() {
    echo -n $"Starting ${DM_DAEMON_NAME}: "       
    # Check if we're a privileged user
    if [ `id -u` = 0 -a ${DM_USER} != "root" ]; then
        su -m -c "${DM_DAEMON_CONTROL_CMD} ${DM_DAEMON_START_ARGS}" ${DM_USER}
    else
        ${DM_DAEMON_CONTROL_CMD} ${DM_DAEMON_START_ARGS}
    fi
    RETVAL=$?
    [ $RETVAL -eq 0 ] && success $"${DM_DAEMON_NAME} startup" || failure $"${DM_DAEMON_NAME} startup"
    echo
}

stop() {
    echo -n $"Stopping ${DM_DAEMON_NAME}: "       
    # Check if we're a privileged user
    if [ `id -u` = 0 -a ${DM_USER} != "root" ]; then
        su -m -c "${DM_DAEMON_CONTROL_CMD} ${DM_DAEMON_STOP_ARGS}" ${DM_USER}
    else
        ${DM_DAEMON_CONTROL_CMD} ${DM_DAEMON_STOP_ARGS}
    fi
    RETVAL=$?
    [ $RETVAL -eq 0 ] && success $"${DM_DAEMON_NAME} shutdown" || failure $"${DM_DAEMON_NAME} shutdown"
    echo
}

status() {
    # Check if we're a privileged user
    if [ `id -u` = 0 -a ${DM_USER} != "root" ]; then
        for cmd in ${DM_DAEMON_STATUS_CMDS}; do
            su -m -c "${DM_DAEMON_CONTROL_CMD} ${cmd}" ${DM_USER}
        done
    else
        for cmd in ${DM_DAEMON_STATUS_CMDS}; do
            ${DM_DAEMON_CONTROL_CMD} ${cmd}
        done
    fi
}

case "$1" in
    start)
        start
    ;;
    stop)
        stop
    ;;
    restart)
        stop
        start
    ;;
    status)
        status
    ;;
    *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
    ;;
esac