ports/java/wildfly/files/wildfly.in
Muhammad Moinur Rahman 2e7d20de91 java/wildfly: New port
Replacement for JBoss Application Server

WildFly is a flexible, lightweight, managed application runtime that
helps you build amazing applications.  WildFly - new name for JBoss
Application Server

- Fast Startup
- Small Footprint
- Modular Design
- Unified Configuration and Management
And of course Java EE!

WWW: https://wildfly.org/

As the current MAINTAINER is no longer adding any support and all
wildfly versions are about to EXPIRE add this port. Please be informed
that this is still an older version of the port. There was a breaking
change in wildfly which I cannot recollect so I will need to test and
update. But in case someone quickly recollects the breaking version
number give me a heads up. Otherwise I will test and update soonish.
2023-12-27 18:56:52 +01:00

93 lines
3 KiB
Bash

#!/bin/sh
#
# %%APP_SHORTNAME%% startup script.
# 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%%"
status_cmd="%%APP_SHORTNAME%%_status"
WILDFLY_HOME="%%APP_HOME%%"
%%APP_SHORTNAME%%_start ()
{
if [ ! -d "${%%APP_SHORTNAME%%_logdir}" ]
then
install -d -o ${%%APP_SHORTNAME%%_user} ${%%APP_SHORTNAME%%_logdir}
fi
echo "%%APP_SHORTNAME%%: making sure all writeable dirs belong 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
rm ${pidfile}
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"