94b7c96
#!/bin/bash
94b7c96
94b7c96
if [ -r /usr/share/java-utils/java-functions ]; then
94b7c96
  . /usr/share/java-utils/java-functions
94b7c96
else
94b7c96
  echo "Can't read Java functions library, aborting"
94b7c96
  exit 1
94b7c96
fi
94b7c96
94b7c96
# Get the tomcat config (use this for environment specific settings)
99a8151
# if $TOMCAT_CFG wasn't already loaded
99a8151
if [ -z "${TOMCAT_CFG_LOADED}" ]; then
99a8151
    if [ -z "${TOMCAT_CFG}" ]; then
99a8151
      TOMCAT_CFG="/etc/tomcat/tomcat.conf"
99a8151
    fi
94b7c96
99a8151
    if [ -r "$TOMCAT_CFG" ]; then
99a8151
      . $TOMCAT_CFG
99a8151
    fi
99a8151
fi
94b7c96
94b7c96
set_javacmd
94b7c96
94b7c96
# CLASSPATH munging
94b7c96
if [ -n "$JSSE_HOME" ]; then
94b7c96
  CLASSPATH="${CLASSPATH}:$(build-classpath jcert jnet jsse 2>/dev/null)"
94b7c96
fi
94b7c96
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/bootstrap.jar"
94b7c96
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar"
94b7c96
CLASSPATH="${CLASSPATH}:$(build-classpath commons-daemon 2>/dev/null)"
94b7c96
94b7c96
# if jsvc installed and USE_JSVC=true
94b7c96
# then use jsvc instead of calling java directly
94b7c96
if [ -x /usr/bin/jsvc ]; then
99a8151
  # Command to use for version so it doesn't use jsvc
99a8151
  VER_JAVACMD=$JAVACMD
99a8151
94b7c96
  JAVACMD="/usr/bin/jsvc -nodetach -user ${TOMCAT_USER} -outfile ${CATALINA_BASE}/logs/catalina.out -errfile ${CATALINA_BASE}/logs/catalina.out"
94b7c96
  if [ "$1" = "stop" ]; then
94b7c96
    JAVACMD="${JAVACMD} -stop"
94b7c96
  fi
94b7c96
fi
94b7c96
94b7c96
if [ "$1" = "start" ]; then
94b7c96
  ${JAVACMD} $JAVA_OPTS $CATALINA_OPTS \
94b7c96
    -classpath "$CLASSPATH" \
94b7c96
    -Dcatalina.base="$CATALINA_BASE" \
94b7c96
    -Dcatalina.home="$CATALINA_HOME" \
94b7c96
    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
94b7c96
    -Djava.io.tmpdir="$CATALINA_TMPDIR" \
94b7c96
    -Djava.util.logging.config.file="${CATALINA_BASE}/conf/logging.properties" \
94b7c96
    -Djava.util.logging.manager="org.apache.juli.ClassLoaderLogManager" \
94b7c96
    org.apache.catalina.startup.Bootstrap start \
94b7c96
    >> ${CATALINA_BASE}/logs/catalina.out 2>&1 &
94b7c96
    if [ ! -z "$CATALINA_PID" ]; then
94b7c96
      echo $! > $CATALINA_PID
94b7c96
    fi
94b7c96
elif [ "$1" = "start-security" ]; then
94b7c96
  ${JAVACMD} $JAVA_OPTS $CATALINA_OPTS \
94b7c96
    -classpath "$CLASSPATH" \
94b7c96
    -Dcatalina.base="$CATALINA_BASE" \
94b7c96
    -Dcatalina.home="$CATALINA_HOME" \
94b7c96
    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
94b7c96
    -Djava.io.tmpdir="$CATALINA_TMPDIR" \
94b7c96
    -Djava.security.manager \
94b7c96
    -Djava.security.policy=="${CATALINA_BASE}/conf/catalina.policy" \
94b7c96
    -Djava.util.logging.config.file="${CATALINA_BASE}/conf/logging.properties" \
94b7c96
    -Djava.util.logging.manager="org.apache.juli.ClassLoaderLogManager" \
94b7c96
    org.apache.catalina.startup.Bootstrap start \
94b7c96
    >> ${CATALINA_BASE}/logs/catalina.out 2>&1 &
94b7c96
    if [ ! -z "$CATALINA_PID" ]; then
94b7c96
      echo $! > $CATALINA_PID
94b7c96
    fi
94b7c96
elif [ "$1" = "stop" ]; then
94b7c96
  ${JAVACMD} $JAVA_OPTS \
94b7c96
    -classpath "$CLASSPATH" \
94b7c96
    -Dcatalina.base="$CATALINA_BASE" \
94b7c96
    -Dcatalina.home="$CATALINA_HOME" \
94b7c96
    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
94b7c96
    -Djava.io.tmpdir="$CATALINA_TMPDIR" \
94b7c96
    org.apache.catalina.startup.Bootstrap stop \
94b7c96
    >> ${CATALINA_BASE}/logs/catalina.out 2>&1
94b7c96
elif [ "$1" = "version" ]; then
99a8151
  ${VER_JAVACMD} -classpath ${CATALINA_HOME}/lib/catalina.jar \
94b7c96
    org.apache.catalina.util.ServerInfo
94b7c96
else
94b7c96
  echo "Usage: $0 {start|start-security|stop|version}"
94b7c96
  exit 1
94b7c96
fi