#!/bin/sh
#
# tomcat          Start/Stop the Jakarta Tomcat
#
# chkconfig: 345 81 14
# description: Tomcat is the servlet container that is used \
#   in the official Reference Implementation for the Java Servlet \
#   and JavaServer Pages technologies. The Java Servlet and JavaServer Pages \
#   specifications are developed by Sun under the Java Community Process.
#
# processname: jsvc
# pidfile: /var/run/jsvc.pid
# config: /usr/local/tomcat/conf/server.xml
#
##############################################################################
#
#   Copyright 2004 The Apache Software Foundation.
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.
##############################################################################
#
# Small shell script to show how to start/stop Tomcat using jsvc
# If you want to have Tomcat running on port 80 please modify the server.xml
# file:
#
#    <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->
#    <Connector className="org.apache.catalina.connector.http.HttpConnector"
#               port="80" minProcessors="5" maxProcessors="75"
#               enableLookups="true" redirectPort="8443"
#               acceptCount="10" debug="0" connectionTimeout="60000"/>
#
# That is for Tomcat-5.0.x (Apache Tomcat/5.0)
#
# Adapt the following lines to your configuration

JAVA_HOME=/usr/java/jdk1.5.0_08/
CATALINA_HOME=/usr/local/tomcat
DAEMON_HOME=/usr/local/tomcat/bin
TOMCAT_USER=tomcat5
CATALINA_TMPDIR=/var/tmp
TMP_DIR=/var/tmp
CATALINA_OPTS=
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar

export CATALINA_TMPDIR=$CATALINA_TMPDIR
export JAVA_HOME=$JAVA_HOME

case "$1" in
  start)
    #
    # Start Tomcat
    #
    echo -n "Tomcat starting ... "
    chown -R tomcat5:tomcat5 /usr/local/tomcat/*
    $DAEMON_HOME/jsvc \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -Dcatalina.home=$CATALINA_HOME \
    -Djava.io.tmpdir=$TMP_DIR \
    -outfile $CATALINA_HOME/logs/catalina.out \
    -errfile '&1' \
    $CATALINA_OPTS \
    -cp $CLASSPATH \
    org.apache.catalina.startup.Bootstrap
    #
    # To get a verbose JVM
    #-verbose \
    # To get a debug of jsvc.
    #-debug \
    ;;

  stop)
    #
    # Stop Tomcat
    #
    echo -n "Tomcat shutting ... "
    PID=`cat /var/run/jsvc.pid`
    kill $PID
    ;;

  status)
    echo "Tomcat processes: "
    ps aux --cols 1024 | grep org.apache.catalina.startup.Bootstrap | grep -v grep
    ;;

  restart|reload)
    $0 stop
    $0 start
    exit 0
    ;;

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

esac

echo "    [ DONE ]"

exit 0
