X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=apache-tomcat.init;h=83e5a933d5a962a6c28423ec1874d67e2b9f6484;hb=d93791cfa1ec26b44655df2c50bf6c265def3232;hp=aee7179db06422ace06b6f530c2aa22ebcdd4ac1;hpb=e23301f99576a4d5f906b5cb3ae58f6d7d9610e5;p=packages%2Ftomcat.git diff --git a/apache-tomcat.init b/apache-tomcat.init old mode 100644 new mode 100755 index aee7179..83e5a93 --- a/apache-tomcat.init +++ b/apache-tomcat.init @@ -1,82 +1,130 @@ #!/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}"