]> git.pld-linux.org Git - packages/tomcat.git/blobdiff - apache-tomcat.init
- up to 7.0.94
[packages/tomcat.git] / apache-tomcat.init
old mode 100644 (file)
new mode 100755 (executable)
index aee7179..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_starting tomcat
-               busy
-               su http -s /bin/sh -c /usr/share/tomcat/bin/startup.sh >/dev/null 2>&1
-               [ $? -ne 0 ] && RETVAL=1
-               if [ $RETVAL -eq 0 ]; then
-                       ok
-                       touch /var/lock/subsys/tomcat
-               else
-                       fail
-               fi
+       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
-               msg_already_running tomcat
+               fail
        fi
 }
 
 stop() {
-       if [ -f /var/lock/subsys/tomcat ]; then
-               # Stop daemons.
-               msg_stopping tomcat
-               busy
-               su http -s /bin/sh -c /usr/share/tomcat/bin/shutdown.sh >/dev/null 2>&1
-               [ $? -eq 0 ] && ok || fail
-               rm -f /var/lock/subsys/tomcat
-       else
-               msg_not_running tomcat
+       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
-               stop
-               start
-       else
-               msg_not_running tomcat
+       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)
-       start
+       start
        ;;
   stop)
-       stop
+       stop
        ;;
   restart)
        stop
@@ -89,8 +137,8 @@ case "$1" in
        condrestart 7
        ;;
   status)
-       echo "Not supported (yet?)"
-       RETVAL=0
+       status --pidfile /var/run/tomcat.pid tomcat tomcat
+       exit $?
        ;;
   *)
        msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
This page took 0.055095 seconds and 4 git commands to generate.