summaryrefslogtreecommitdiff
path: root/www/webobjects/files/JavaMonitor.in
diff options
context:
space:
mode:
Diffstat (limited to 'www/webobjects/files/JavaMonitor.in')
-rw-r--r--www/webobjects/files/JavaMonitor.in55
1 files changed, 55 insertions, 0 deletions
diff --git a/www/webobjects/files/JavaMonitor.in b/www/webobjects/files/JavaMonitor.in
new file mode 100644
index 000000000000..a3b9cdcba75a
--- /dev/null
+++ b/www/webobjects/files/JavaMonitor.in
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# PROVIDE: JavaMonitor
+# REQUIRE: NETWORKING SERVERS
+# BEFORE: DAEMON
+# KEYWORD: shutdown
+#
+# Define these JavaMonitor_* variables in one of these files:
+# /etc/rc.conf
+# /etc/rc.conf.local
+#
+# DO NOT CHANGE THESE DEFAULT VALUES HERE
+
+. /etc/rc.subr
+
+name="JavaMonitor"
+rcvar=JavaMonitor_enable
+
+load_rc_config "$name"
+load_rc_config NEXT
+
+JavaMonitor_enable="${JavaMonitor_enable-"NO"}"
+JavaMonitor_user="${JavaMonitor_user-%%USER%%}"
+JavaMonitor_flags="${JavaMonitor_flags-"-WOPort 56789"}"
+JavaMonitor_pidfile="${JavaMonitor_pidfile:-/var/run/webobjects/${name}.pid}"
+JavaMonitor_logfile="${JavaMonitor_logfile:-/var/log/webobjects/${name}.log}"
+NEXT_ROOT="${NEXT_ROOT-%%PREFIX%%/%%NEXT_ROOT%%}"
+
+pidfile="${JavaMonitor_pidfile}"
+logfile="${JavaMonitor_logfile}"
+runuser="${JavaMonitor_user}"
+
+procname=`basename %%JAVA%%`
+log_args=">>${logfile} 2>&1 "
+run_command="${NEXT_ROOT}/Library/WebObjects/JavaApplications/${name}.woa/${name}"
+flags="-p ${pidfile} ${run_command} ${JavaMonitor_flags}"
+command="/usr/sbin/daemon"
+command_args="${log_args}"
+
+export NEXT_ROOT=${NEXT_ROOT}
+
+start_precmd="start_precmd"
+
+start_precmd()
+{
+ if [ "x${runuser}" = "xroot" ]; then
+ err 1 "You have to set ${name}_user to a non-root user for security reasons"
+ fi
+ touch ${pidfile} && chown ${runuser} ${pidfile}
+ touch ${logfile} && chown ${runuser} ${logfile}
+}
+
+run_rc_command "$1"