X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=apache-tomcat.init;h=83e5a933d5a962a6c28423ec1874d67e2b9f6484;hb=d93791cfa1ec26b44655df2c50bf6c265def3232;hp=86873bc25058d509b3789e5520c79e6b68827fa8;hpb=31008b5a055589a1ac721f0038367fc3ca24e5fb;p=packages%2Ftomcat.git diff --git a/apache-tomcat.init b/apache-tomcat.init old mode 100644 new mode 100755 index 86873bc..83e5a93 --- a/apache-tomcat.init +++ b/apache-tomcat.init @@ -1,82 +1,148 @@ #!/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 ]; then - # nls "ERROR: Networking is down. %s can't be run." - msg_network_down tomcat + if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then + 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 - # show "Starting %s service" tomcat - 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 - # show "%s service is already running." tomcat - msg_already_running tomcat - fi + start ;; stop) - if [ -f /var/lock/subsys/tomcat ]; then - # Stop daemons. - # show "Stopping %s service" tomcat - 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 - # show "%s service is not running." tomcat - 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 $? ;; *) - # show "Usage: %s {start|stop|restart|force-reload|status}" - 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