aboutsummaryrefslogtreecommitdiff
path: root/java/wildfly10/files/wildfly10.in
diff options
context:
space:
mode:
Diffstat (limited to 'java/wildfly10/files/wildfly10.in')
-rw-r--r--java/wildfly10/files/wildfly10.in97
1 files changed, 97 insertions, 0 deletions
diff --git a/java/wildfly10/files/wildfly10.in b/java/wildfly10/files/wildfly10.in
new file mode 100644
index 000000000000..7c971849a33c
--- /dev/null
+++ b/java/wildfly10/files/wildfly10.in
@@ -0,0 +1,97 @@
+#!/bin/sh
+#
+# %%APP_SHORTNAME%% startup script.
+#
+# $FreeBSD$
+#
+
+# PROVIDE: %%APP_SHORTNAME%%
+# REQUIRE: NETWORKING SERVERS
+# KEYWORD: shutdown
+
+# Add the following lines to /etc/rc.conf to enable %%APP_SHORTNAME%%:
+# %%APP_SHORTNAME%%_enable (bool): Set to "YES" to enable %%APP_SHORTNAME%%
+# %%APP_SHORTNAME%%_args (str): Optional arguments to OAJBoss
+# %%APP_SHORTNAME%%_log_stdout (str) JBoss log output stdout, filename.
+# %%APP_SHORTNAME%%_log_stderr (str) JBoss log output stderr, filename.
+#
+
+. /etc/rc.subr
+
+name="%%APP_SHORTNAME%%"
+rcvar=%%APP_SHORTNAME%%_enable
+extra_commands="status"
+
+load_rc_config $name
+
+%%APP_SHORTNAME%%_logdir="%%LOG_DIR%%"
+%%APP_SHORTNAME%%_enable="${%%APP_SHORTNAME%%_enable:-"NO"}"
+%%APP_SHORTNAME%%_log_stdout="${%%APP_SHORTNAME%%_log_stdout:-"${%%APP_SHORTNAME%%_logdir}/log"}"
+%%APP_SHORTNAME%%_log_stderr="${%%APP_SHORTNAME%%_log_stderr:-"${%%APP_SHORTNAME%%_logdir}/error"}"
+%%APP_SHORTNAME%%_args="${%%APP_SHORTNAME%%_args:-""}"
+%%APP_SHORTNAME%%_sleep="${%%APP_SHORTNAME%%_sleep:-"5"}"
+%%APP_SHORTNAME%%_kill9="${%%APP_SHORTNAME%%_kill9:-""}"
+%%APP_SHORTNAME%%_additional_killall="${%%APP_SHORTNAME%%_additional_killall:-""}"
+%%APP_SHORTNAME%%_user="%%USER%%"
+%%APP_SHORTNAME%%_group="%%GROUP%%"
+
+start_cmd="%%APP_SHORTNAME%%_start"
+stop_cmd="%%APP_SHORTNAME%%_stop"
+pidfile="%%PID_FILE%%"
+
+WILDFLY_HOME="%%APP_HOME%%"
+#minimal requirements must be set for our javavmwrapper
+JAVA_VERSION="1.7+"
+export JAVA_VERSION
+
+%%APP_SHORTNAME%%_start ()
+{
+ if [ ! -d "${%%APP_SHORTNAME%%_logdir}" ]
+ then
+ install -d -o ${%%APP_SHORTNAME%%_user} ${%%APP_SHORTNAME%%_logdir}
+ fi
+
+ echo "Making sure all writeable dirs belongs to proper user/group"
+ chown -R ${%%APP_SHORTNAME%%_user}:${%%APP_SHORTNAME%%_group} ${WILDFLY_HOME}/standalone
+ echo "Starting %%APP_SHORTNAME%%."
+ daemon -u ${%%APP_SHORTNAME%%_user} ${WILDFLY_HOME}/bin/standalone.sh ${%%APP_SHORTNAME%%_args} >> ${%%APP_SHORTNAME%%_log_stdout} 2>> ${%%APP_SHORTNAME%%_log_stderr}
+
+ sleep ${%%APP_SHORTNAME%%_sleep} # let daemon(8) and sh(1) finish before executing pgrep(1)
+ pgrep -U ${%%APP_SHORTNAME%%_user} -f ${WILDFLY_HOME}/modules > ${pidfile}
+ chown ${%%APP_SHORTNAME%%_user} $pidfile
+}
+
+%%APP_SHORTNAME%%_stop ()
+{
+ # Subvert the check_pid_file procname check.
+ if [ -f ${pidfile} ]
+ then
+ kill `cat ${pidfile}`
+ # Only if we aware that our setup can hangs, and only after trying simple kill, we can kill it hard way.
+ if [ ! -z "${%%APP_SHORTNAME%%_kill9}" ]
+ then
+ sleep ${%%APP_SHORTNAME%%_sleep}
+ kill -9 `cat ${pidfile}`
+ fi
+ # In some setups, JBoss can spawn some child processess, which could prevent it from stopping, and freeing net ports.
+ # Let's blindly kill them all, since we are really know what we are doing.
+ if [ ! -z "${%%APP_SHORTNAME%%_additional_killall}" ]
+ then
+ sleep ${%%APP_SHORTNAME%%_sleep}
+ killall ${%%APP_SHORTNAME%%_additional_killall}
+ fi
+ fi
+}
+
+%%APP_SHORTNAME%%_status ()
+{
+ # If running, show pid
+ if [ -f ${pidfile} ]
+ then
+ echo "%%APP_SHORTNAME%% is running as pid" `cat ${pidfile}`
+ else
+ echo "%%APP_SHORTNAME%% is not running"
+ fi
+}
+
+run_rc_command "$1"