aboutsummaryrefslogtreecommitdiff
path: root/www/tomcat7/files/tomcat6.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'www/tomcat7/files/tomcat6.sh.in')
-rw-r--r--www/tomcat7/files/tomcat6.sh.in167
1 files changed, 167 insertions, 0 deletions
diff --git a/www/tomcat7/files/tomcat6.sh.in b/www/tomcat7/files/tomcat6.sh.in
new file mode 100644
index 000000000000..bc87ede6d9d4
--- /dev/null
+++ b/www/tomcat7/files/tomcat6.sh.in
@@ -0,0 +1,167 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: tomcat%%TOMCAT_VERSION%%
+# REQUIRE: NETWORKING SERVERS
+# BEFORE: DAEMON
+# KEYWORD: shutdown
+
+#
+# Configuration settings for tomcat%%TOMCAT_VERSION%% in /etc/rc.conf:
+#
+# tomcat%%TOMCAT_VERSION%%_enable (bool):
+# Set to "NO" by default.
+# Set it to "YES" to enable tomcat%%TOMCAT_VERSION%%
+#
+# tomcat%%TOMCAT_VERSION%%_flags (str):
+# Set to "" by default.
+# Extra flags passed to start command
+#
+# tomcat%%TOMCAT_VERSION%%_catalina_home (str)
+# Set to "%%TOMCAT_HOME%%" by default.
+# Set the CATALINA_HOME variable for the Tomcat process
+#
+# tomcat%%TOMCAT_VERSION%%_catalina_base (str)
+# Set to "%%TOMCAT_HOME%%" by default.
+# Set the CATALINA_BASE variable for the Tomcat process
+#
+# tomcat%%TOMCAT_VERSION%%_catalina_tmpdir (str)
+# Set to "%%TOMCAT_HOME%%/temp" by default.
+# Set the CATALINA_TMPDIR variable for the Tomcat process
+#
+# tomcat%%TOMCAT_VERSION%%_stdout_log (str)
+# Set to "%%STDOUT_LOG%%" by default.
+# Set the location for the Tomcat process log (standard output)
+#
+# tomcat%%TOMCAT_VERSION%%_stderr_log (str)
+# Set to "%%STDERR_LOG%%" by default.
+# Set the location for the Tomcat process log (error output)
+#
+# tomcat%%TOMCAT_VERSION%%_stop_timeout (num)
+# Set to "10" by default.
+# Sets the timeout in seconds to allow tomcat to shutdown.
+# After the timeout has elapsed, tomcat will be killed.
+#
+# tomcat%%TOMCAT_VERSION%%_java_home (str):
+# tomcat%%TOMCAT_VERSION%%_java_vendor (str):
+# tomcat%%TOMCAT_VERSION%%_java_version (str):
+# tomcat%%TOMCAT_VERSION%%_java_os (str):
+# Specify the requirements of the Java VM to use. See javavm(1).
+#
+# tomcat%%TOMCAT_VERSION%%_classpath (str):
+# Set to "" by default.
+# Addtional classes to add to the CLASSPATH
+#
+# tomcat%%TOMCAT_VERSION%%_java_opts (str):
+# Set to "" by default.
+# Java VM args to use.
+#
+
+tomcat%%TOMCAT_VERSION%%_enable="${tomcat%%TOMCAT_VERSION%%_enable:-"NO"}"
+tomcat%%TOMCAT_VERSION%%_java_version="${tomcat%%TOMCAT_VERSION%%_java_version:-"%%JAVA_VERSION%%"}"
+tomcat%%TOMCAT_VERSION%%_user="${tomcat%%TOMCAT_VERSION%%_user:-"%%USER%%"}"
+tomcat%%TOMCAT_VERSION%%_catalina_home="${tomcat%%TOMCAT_VERSION%%_catalina_home:-"%%TOMCAT_HOME%%"}"
+tomcat%%TOMCAT_VERSION%%_catalina_base="${tomcat%%TOMCAT_VERSION%%_catalina_base:-"%%TOMCAT_HOME%%"}"
+tomcat%%TOMCAT_VERSION%%_catalina_tmpdir="${tomcat%%TOMCAT_VERSION%%_catalina_tmpdir:-"%%TOMCAT_HOME%%/temp"}"
+tomcat%%TOMCAT_VERSION%%_stdout_log="${tomcat%%TOMCAT_VERSION%%_stdout_log:-"%%STDOUT_LOG%%"}"
+tomcat%%TOMCAT_VERSION%%_stderr_log="${tomcat%%TOMCAT_VERSION%%_stderr_log:-"%%STDERR_LOG%%"}"
+tomcat%%TOMCAT_VERSION%%_stop_timeout="${tomcat%%TOMCAT_VERSION%%_stop_timeout:-"10"}"
+
+. %%RC_SUBR%%
+
+name="tomcat%%TOMCAT_VERSION%%"
+rcvar=`set_rcvar`
+pidfile="%%PID_FILE%%"
+
+load_rc_config "${name}"
+
+if [ -n "${tomcat%%TOMCAT_VERSION%%_java_home}" ] ; then
+ export JAVA_HOME="${tomcat%%TOMCAT_VERSION%%_java_home}"
+fi
+
+if [ -n "${tomcat%%TOMCAT_VERSION%%_java_version}" ] ; then
+ export JAVA_VERSION="${tomcat%%TOMCAT_VERSION%%_java_version}"
+fi
+
+if [ -n "${tomcat%%TOMCAT_VERSION%%_java_vendor}" ] ; then
+ export JAVA_VENDOR="${tomcat%%TOMCAT_VERSION%%_java_vendor}"
+fi
+
+if [ -n "${tomcat%%TOMCAT_VERSION%%_java_os}" ] ; then
+ export JAVA_OS="${tomcat%%TOMCAT_VERSION%%_java_os}"
+fi
+
+java_command="%%LOCALBASE%%/bin/java \
+ ${tomcat%%TOMCAT_VERSION%%_java_opts} \
+ -Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS \
+ -classpath %%TOMCAT_HOME%%/%%JAR_FILE%%:%%TOMCAT_HOME%%/bin/commons-logging-api.jar:${tomcat%%TOMCAT_VERSION%%_classpath} \
+ -Dcatalina.base=${tomcat%%TOMCAT_VERSION%%_catalina_base} \
+ -Dcatalina.home=${tomcat%%TOMCAT_VERSION%%_catalina_home} \
+ -Djava.io.tmpdir=${tomcat%%TOMCAT_VERSION%%_catalina_tmpdir} \
+ org.apache.catalina.startup.Bootstrap"
+
+log_args=">> ${tomcat%%TOMCAT_VERSION%%_stdout_log} \
+ 2>> ${tomcat%%TOMCAT_VERSION%%_stderr_log} "
+
+# Subvert the check_pid_file procname check.
+if [ -f $pidfile ]; then
+ read rc_pid junk < $pidfile
+ if [ ! -z "$rc_pid" ]; then
+ procname=`ps -o ucomm= $rc_pid`
+ fi
+fi
+
+required_files="${tomcat%%TOMCAT_VERSION%%_catalina_home}/conf/server.xml"
+
+command="/usr/sbin/daemon"
+flags="-p ${pidfile} ${java_command} start ${tomcat%%TOMCAT_VERSION%%_flags} ${log_args}"
+
+start_precmd=pid_touch
+stop_cmd="tomcat%%TOMCAT_VERSION%%_stop"
+
+pid_touch ()
+{
+ touch $pidfile
+ chown $tomcat%%TOMCAT_VERSION%%_user $pidfile
+}
+
+tomcat%%TOMCAT_VERSION%%_stop() {
+ rc_pid=$(check_pidfile $pidfile *$procname*)
+
+ if [ -z "$rc_pid" ]; then
+ [ -n "$rc_fast" ] && return 0
+ if [ -n "$pidfile" ]; then
+ echo "${name} not running? (check $pidfile)."
+ else
+ echo "${name} not running?"
+ fi
+ return 1
+ fi
+
+ echo "Stopping ${name}."
+ ${java_command} stop
+ tomcat_wait_max_for_pid ${tomcat%%TOMCAT_VERSION%%_stop_timeout} ${rc_pid}
+ kill -KILL ${rc_pid} 2> /dev/null && echo "Killed."
+ echo -n > ${pidfile}
+}
+
+tomcat_wait_max_for_pid() {
+ _timeout=$1
+ shift
+ _pid=$1
+ _prefix=
+ while [ $_timeout -gt 0 ] ; do
+ echo -n ${_prefix:-"Waiting (max $_timeout secs) for PIDS: "}$_pid
+ _prefix=", "
+ sleep 2
+ kill -0 $_pid 2> /dev/null || break
+ _timeout=$(($_timeout-2))
+ done
+ if [ -n "$_prefix" ]; then
+ echo "."
+ fi
+}
+
+run_rc_command "$1"