summaryrefslogtreecommitdiff
path: root/java/wildfly/files
diff options
context:
space:
mode:
authorMuhammad Moinur Rahman <bofh@FreeBSD.org>2023-12-26 23:49:33 +0100
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2023-12-27 18:56:52 +0100
commit2e7d20de91e7ee7e6ec206b9c43048ec042d41a5 (patch)
tree9d0044fd908df8dc52d2a446656174b3102d0fbb /java/wildfly/files
parentdeskutils/timewarrior: Update version 1.6.0=>1.7.0 (diff)
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.
Diffstat (limited to 'java/wildfly/files')
-rw-r--r--java/wildfly/files/pkg-message.in21
-rw-r--r--java/wildfly/files/wildfly.in93
2 files changed, 114 insertions, 0 deletions
diff --git a/java/wildfly/files/pkg-message.in b/java/wildfly/files/pkg-message.in
new file mode 100644
index 000000000000..278924a8c27c
--- /dev/null
+++ b/java/wildfly/files/pkg-message.in
@@ -0,0 +1,21 @@
+[
+{ type: install
+ message: <<EOM
+To make WildFly bind to all interfaces add this to rc.conf:
+
+%%APP_SHORTNAME%%_args="-Djboss.bind.address=0.0.0.0"
+
+See
+
+ https://community.jboss.org/wiki/JBossProperties
+
+for additional startup properties.
+
+To change JVM args, edit appropriate standalone.conf.
+
+To add the initial admin user:
+
+%%APP_HOME%%/bin/add-user.sh
+EOM
+}
+]
diff --git a/java/wildfly/files/wildfly.in b/java/wildfly/files/wildfly.in
new file mode 100644
index 000000000000..0151d54b587a
--- /dev/null
+++ b/java/wildfly/files/wildfly.in
@@ -0,0 +1,93 @@
+#!/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"