]> git.pld-linux.org Git - packages/tomcat.git/blobdiff - apache-tomcat.init
Up to 7.0.109; 7.x series is EOL now
[packages/tomcat.git] / apache-tomcat.init
old mode 100644 (file)
new mode 100755 (executable)
index b70631c..83e5a93
 #!/bin/sh
 #
-# tomcat       Jakarta Tomcat Servlet/JSP container
+# tomcat       Tomcat Servlet/JSP container
 #
 # chkconfig:    345  84 16
+# description: Tomcat Servlet/JSP container
 #
-# description: Jakarta Tomcat Servlet/JSP container
-#
-# $Id$
-
 
-# Source function library
+# Source function libraries
 . /etc/rc.d/init.d/functions
+. /usr/share/java-utils/java-functions
 
 # Get network config
 . /etc/sysconfig/network
 
-# Get service config - may override defaults
-[ -f /etc/sysconfig/tomcat ] && . /etc/sysconfig/tomcat
-
 # Check that networking is up.
 if is_yes "${NETWORKING}"; then
        if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
-               msg_network_down tomcat
+               msg_network_down "Tomcat"
                exit 1
        fi
 else
        exit 0
 fi
 
+set_jvm
+
+# Set default options
+CATALINA_OPTS="-Xmx384M -XX:MaxPermSize=192m -XX:PermSize=128m"
+
+# Get service config - may override defaults
+[ -f /etc/sysconfig/tomcat ] && . /etc/sysconfig/tomcat
+
+unset TMPDIR
+unset TMP
+
+COMMONSDAEMON=$(find-jar commons-daemon)
+TOMCATLIBS=/usr/share/tomcat/bin/bootstrap.jar:$(build-classpath-directory /usr/share/tomcat/lib)
+CLASSPATH=${CLASSPATH:+"$CLASSPATH:"}$COMMONSDAEMON:$TOMCATLIBS
+
+CATALINA_HOME=/usr/share/tomcat
+CATALINA_BASE=/var/lib/tomcat
+CATALINA_TMPDIR=/var/lib/tomcat/temp
+
+JSVC_OPTS="-classpath ${CLASSPATH} \
+       -home ${JAVA_HOME} \
+       -pidfile /var/run/tomcat.pid"
+
+if is_yes "${SECURITY_MANAGER}"; then
+       CATALINA_OPTS="$CATALINA_OPTS \
+               -Djava.security.manager \
+               -Djava.security.policy==${CATALINA_BASE}/conf/catalina.policy"
+       if [ -n "${SECURITY_MANAGER_DEBUG}" ]; then
+               CATALINA_OPTS="$CATALINA_OPTS \
+                       -Djava.security.debug=${SECURITY_MANAGER_DEBUG}"
+       fi
+fi
+
+start() {
+       # Check if the service is already running?
+       if [ -f /var/lock/subsys/tomcat ]; then
+               msg_already_running "Tomcat"
+               return
+       fi
+
+       msg_starting "Tomcat"
+       busy
+       cd $CATALINA_BASE
+       /usr/bin/jsvc \
+               -user tomcat \
+               -procname tomcat \
+               -wait 360 \
+               -outfile /var/log/tomcat/catalina.out \
+               -errfile /var/log/tomcat/catalina.out \
+               $JSVC_OPTS \
+               -Dcatalina.base=${CATALINA_BASE} \
+               -Dcatalina.home=${CATALINA_HOME} \
+               -Djava.io.tmpdir=${CATALINA_TMPDIR} \
+               -Djava.library.path=/usr/lib64:/usr/lib \
+               -Djava.util.logging.config.file="${CATALINA_BASE}/conf/logging.properties" \
+               -Djava.util.logging.manager="org.apache.juli.ClassLoaderLogManager" \
+               $CATALINA_OPTS \
+               org.apache.catalina.startup.Bootstrap
+       [ $? -ne 0 ] && RETVAL=1
+       if [ $RETVAL -eq 0 ]; then
+               ok
+               touch /var/lock/subsys/tomcat
+       else
+               fail
+       fi
+}
+
+stop() {
+       if [ ! -f /var/lock/subsys/tomcat ]; then
+               msg_not_running "Tomcat"
+               return
+       fi
+
+       # Stop daemons.
+       msg_stopping "Tomcat"
+       busy
+       jsvc -user tomcat -stop -wait 360 \
+               $JSVC_OPTS \
+               org.apache.catalina.startup.Bootstrap
+       [ $? -eq 0 ] && ok || fail
+       rm -f /var/lock/subsys/tomcat
+}
+
+condrestart() {
+       if [ ! -f /var/lock/subsys/tomcat ]; then
+               msg_not_running "Tomcat"
+               RETVAL=$1
+               return
+       fi
+
+       stop
+       start
+}
+
 RETVAL=0
 # See how we were called.
 case "$1" in
   start)
-       # Check if the service is already running?
-       if [ ! -f /var/lock/subsys/tomcat ]; then
-               msg_starting tomcat
-               busy
-               su - http -s /bin/sh -c /usr/lib/tomcat/bin/startup.sh >/dev/null 2>&1
-               [ $? -ne 0 ] && RETVAL=1
-               [ $RETVAL -eq 0 ] && ok || fail
-               [ $RETVAL -eq 0 ] && touch /var/lock/subsys/tomcat
-       else
-               msg_already_running tomcat
-       fi
+       start
        ;;
   stop)
-       if [ -f /var/lock/subsys/tomcat ]; then
-               # Stop daemons.
-               msg_stopping tomcat
-               busy
-               su - http -s /bin/sh -c /usr/lib/tomcat/bin/shutdown.sh >/dev/null 2>&1
-               [ $? -eq 0 ] && ok || fail
-               rm -f /var/lock/subsys/tomcat
-       else
-               msg_not_running tomcat
-       fi      
+       stop
        ;;
-  restart|force-reload)
-       $0 stop
-       $0 start
-       exit $?
+  restart)
+       stop
+       start
+       ;;
+  try-restart)
+       condrestart 0
+       ;;
+  force-reload)
+       condrestart 7
        ;;
   status)
-       echo "Not supported (yet?)"
-       RETVAL=0
+       status --pidfile /var/run/tomcat.pid tomcat tomcat
+       exit $?
        ;;
   *)
-       msg_usage "$0 {start|stop|restart|force-reload|status}"
+       msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
        exit 3
 esac
 
 exit $RETVAL
-
-# This must be last line !
-# vi:syntax=sh:tw=78:ts=8:sw=4
This page took 0.086696 seconds and 4 git commands to generate.