ports/www/tomcat7/files/tomcat7.in
Alex Dupre 9170b0fef4 Improve comment.
Feature safe:	yes
2012-11-16 15:42:37 +00:00

124 lines
3.8 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: tomcat7
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Configuration settings for tomcat7 in /etc/rc.conf:
#
# tomcat7_enable (bool):
# Set to "NO" by default.
# Set it to "YES" to enable tomcat7
#
# tomcat7_catalina_base (str)
# Set to "%%TOMCAT_HOME%%" by default.
# Set the CATALINA_BASE variable for the Tomcat process
#
# tomcat7_catalina_tmpdir (str)
# Set to "${catalina.base}/temp" by default.
# Set the CATALINA_TMPDIR variable for the Tomcat process
#
# tomcat7_stdout (str)
# Set to "${catalina.base}/logs/catalina.out" by default.
# Set the stdout redirection. It may also be '/dev/null', '&1' or '&2'
#
# tomcat7_stderr (str)
# Set to "&1" by default.
# Set the stderr redirection. It may also be '/dev/null', '&1' or '&2'
#
# tomcat7_pipe_cmd (str):
# Set to "" by default.
# Set a piped command to process stdout/stderr when passthru
#
# tomcat7_logging_manager (str):
# Set to "org.apache.juli.ClassLoaderLogManager" by default.
# Set the JUL log manager
#
# tomcat7_logging_config (str):
# Set to "${catalina.base}/conf/logging.properties" by default.
# Set the JUL config file
#
# tomcat7_java_home (str):
# Set to "%%JAVA_HOME%%" by default.
# Specify the Java VM to use.
#
# tomcat7_classpath (str):
# Set to "" by default.
# Addtional classes to add to the CLASSPATH. If set, must start with ':'
#
# tomcat7_java_opts (str):
# Set to "" by default.
# Java VM args to use.
#
# tomcat7_wait (int):
# Set to "30" by default.
# Set the wait time (in seconds) for Tomcat process startup
#
# You may symlink this script with other names to run multiple
# instances of tomcat7 with different configurations.
#
. /etc/rc.subr
case $0 in
/etc/rc*)
# during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown),
# so get the name of the script from $_file
name=$_file
;;
*)
name=$0
;;
esac
name=${name##*/}
rcvar=${name}_enable
load_rc_config "${name}"
eval "${rcvar}=\${${rcvar}:-'NO'}"
eval "_tomcat_java_home=\${${name}_java_home:-'%%JAVA_HOME%%'}"
eval "_tomcat_catalina_user=\${${name}_catalina_user:-'%%TOMCAT_USER%%'}"
eval "_tomcat_catalina_home='%%TOMCAT_HOME%%'"
eval "_tomcat_catalina_base=\${${name}_catalina_base:-'%%TOMCAT_HOME%%'}"
eval "_tomcat_catalina_tmpdir=\${${name}_catalina_tmpdir:-'${_tomcat_catalina_base}/temp'}"
eval "_tomcat_stdout=\${${name}_stdout:-'${_tomcat_catalina_base}/logs/catalina.out'}"
eval "_tomcat_stderr=\${${name}_stderr:-'&1'}"
eval "_tomcat_pipe_cmd=\${${name}_pipe_cmd:-''}"
eval "_tomcat_logging_manager=\${${name}_logging_manager:-'org.apache.juli.ClassLoaderLogManager'}"
eval "_tomcat_logging_config=\${${name}_logging_config:-'${_tomcat_catalina_base}/conf/logging.properties'}"
eval "_tomcat_classpath=\${${name}_classpath:-''}"
eval "_tomcat_java_opts=\${${name}_java_opts:-''}"
eval "_tomcat_wait=\${${name}_wait:-'30'}"
pidfile="/var/run/${name}.pid"
required_files="${_tomcat_catalina_base}/conf/server.xml"
required_dirs="${_tomcat_catalina_tmpdir}"
extra_commands="reload"
command="%%LOCALBASE%%/bin/jsvc"
command_args="-java-home '${_tomcat_java_home}' \
-server \
-user ${_tomcat_catalina_user} \
-pidfile '${pidfile}' \
-wait ${_tomcat_wait} \
-outfile '${_tomcat_stdout}' \
-errfile '${_tomcat_stderr}' \
-classpath '%%TOMCAT_HOME%%/bin/bootstrap.jar:%%LOCALBASE%%/share/java/classes/commons-daemon.jar:%%TOMCAT_HOME%%/bin/tomcat-juli.jar${_tomcat_classpath}' \
-Djava.util.logging.manager=${_tomcat_logging_manager} \
-Djava.util.logging.config.file='${_tomcat_logging_config}' \
${_tomcat_java_opts} \
-Djava.endorsed.dirs='%%TOMCAT_HOME%%/endorsed' \
-Dcatalina.home='${_tomcat_catalina_home}' \
-Dcatalina.base='${_tomcat_catalina_base}' \
-Djava.io.tmpdir='${_tomcat_catalina_tmpdir}' \
org.apache.catalina.startup.Bootstrap \
${_tomcat_pipe_cmd}"
run_rc_command "$1"