From 5c8895b2f5819f34e82d05bbbed0a8c96b9767e3 Mon Sep 17 00:00:00 2001
From: Marek Goldmann <mgoldman@redhat.com>
Date: Wed, 4 Apr 2012 15:30:43 +0200
Subject: [PATCH 35/43] Add systemd files, re-arrange directory with init
scripts
---
.../resources/bin/init.d/jboss-as-standalone.sh | 175 -------------------
build/src/main/resources/bin/init.d/jboss-as.conf | 22 ---
.../bin/initscripts/systemd/jboss-as.conf | 4 +
.../bin/initscripts/systemd/jboss-as.service | 17 ++
.../resources/bin/initscripts/sysv/jboss-as.conf | 22 +++
.../resources/bin/initscripts/sysv/jboss-as.sh | 176 ++++++++++++++++++++
build/src/main/resources/bin/standalone.sh | 4 +
7 files changed, 223 insertions(+), 197 deletions(-)
delete mode 100755 build/src/main/resources/bin/init.d/jboss-as-standalone.sh
delete mode 100644 build/src/main/resources/bin/init.d/jboss-as.conf
create mode 100644 build/src/main/resources/bin/initscripts/systemd/jboss-as.conf
create mode 100644 build/src/main/resources/bin/initscripts/systemd/jboss-as.service
create mode 100644 build/src/main/resources/bin/initscripts/sysv/jboss-as.conf
create mode 100755 build/src/main/resources/bin/initscripts/sysv/jboss-as.sh
diff --git a/build/src/main/resources/bin/init.d/jboss-as-standalone.sh b/build/src/main/resources/bin/init.d/jboss-as-standalone.sh
deleted file mode 100755
index 7b91e90..0000000
--- a/build/src/main/resources/bin/init.d/jboss-as-standalone.sh
+++ /dev/null
@@ -1,175 +0,0 @@
-#!/bin/sh
-#
-# JBoss standalone control script
-#
-# chkconfig: - 80 20
-# description: JBoss AS Standalone
-# processname: standalone
-# pidfile: /var/run/jboss-as/jboss-as-standalone.pid
-# config: /etc/jboss-as/jboss-as.conf
-
-# Source function library.
-. /etc/init.d/functions
-
-# Load Java configuration.
-[ -r /etc/java/java.conf ] && . /etc/java/java.conf
-export JAVA_HOME
-
-# Load JBoss AS init.d configuration.
-if [ -z "$JBOSS_CONF" ]; then
- JBOSS_CONF="/etc/jboss-as/jboss-as.conf"
-fi
-
-[ -r "$JBOSS_CONF" ] && . "${JBOSS_CONF}"
-
-# Set defaults.
-
-if [ -z "$JBOSS_HOME" ]; then
- JBOSS_HOME=/usr/share/jboss-as
-fi
-export JBOSS_HOME
-
-if [ -z "$JBOSS_PIDFILE" ]; then
- JBOSS_PIDFILE=/var/run/jboss-as/jboss-as-standalone.pid
-fi
-export JBOSS_PIDFILE
-
-if [ -z "$JBOSS_CONSOLE_LOG" ]; then
- JBOSS_CONSOLE_LOG=/var/log/jboss-as/console.log
-fi
-
-if [ -z "$STARTUP_WAIT" ]; then
- STARTUP_WAIT=30
-fi
-
-if [ -z "$SHUTDOWN_WAIT" ]; then
- SHUTDOWN_WAIT=30
-fi
-
-if [ -z "$JBOSS_CONFIG" ]; then
- JBOSS_CONFIG=standalone.xml
-fi
-
-JBOSS_SCRIPT=$JBOSS_HOME/bin/standalone.sh
-
-prog='jboss-as'
-
-CMD_PREFIX=''
-
-if [ ! -z "$JBOSS_USER" ]; then
- if [ -x /etc/rc.d/init.d/functions ]; then
- CMD_PREFIX="daemon --user $JBOSS_USER"
- else
- CMD_PREFIX="su - $JBOSS_USER -c"
- fi
-fi
-
-start() {
- echo -n "Starting $prog: "
- if [ -f $JBOSS_PIDFILE ]; then
- read ppid < $JBOSS_PIDFILE
- if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
- echo -n "$prog is already running"
- failure
- echo
- return 1
- else
- rm -f $JBOSS_PIDFILE
- fi
- fi
- mkdir -p $(dirname $JBOSS_CONSOLE_LOG)
- cat /dev/null > $JBOSS_CONSOLE_LOG
-
- mkdir -p $(dirname $JBOSS_PIDFILE)
- chown $JBOSS_USER $(dirname $JBOSS_PIDFILE) || true
- #$CMD_PREFIX JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT 2>&1 > $JBOSS_CONSOLE_LOG &
- #$CMD_PREFIX JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT &
-
- if [ ! -z "$JBOSS_USER" ]; then
- if [ -x /etc/rc.d/init.d/functions ]; then
- daemon --user $JBOSS_USER LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT -c $JBOSS_CONFIG 2>&1 > $JBOSS_CONSOLE_LOG &
- else
- su - $JBOSS_USER -c "LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT -c $JBOSS_CONFIG" 2>&1 > $JBOSS_CONSOLE_LOG &
- fi
- fi
-
- count=0
- launched=false
-
- until [ $count -gt $STARTUP_WAIT ]
- do
- grep 'JBoss AS.*started in' $JBOSS_CONSOLE_LOG > /dev/null
- if [ $? -eq 0 ] ; then
- launched=true
- break
- fi
- sleep 1
- let count=$count+1;
- done
-
- success
- echo
- return 0
-}
-
-stop() {
- echo -n $"Stopping $prog: "
- count=0;
-
- if [ -f $JBOSS_PIDFILE ]; then
- read kpid < $JBOSS_PIDFILE
- let kwait=$SHUTDOWN_WAIT
-
- # Try issuing SIGTERM
-
- kill -15 $kpid
- until [ `ps --pid $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '0' ] || [ $count -gt $kwait ]
- do
- sleep 1
- let count=$count+1;
- done
-
- if [ $count -gt $kwait ]; then
- kill -9 $kpid
- fi
- fi
- rm -f $JBOSS_PIDFILE
- success
- echo
-}
-
-status() {
- if [ -f $JBOSS_PIDFILE ]; then
- read ppid < $JBOSS_PIDFILE
- if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
- echo "$prog is running (pid $ppid)"
- return 0
- else
- echo "$prog dead but pid file exists"
- return 1
- fi
- fi
- echo "$prog is not running"
- return 3
-}
-
-case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- status)
- status
- ;;
- *)
- ## If no parameters are given, print which are avaiable.
- echo "Usage: $0 {start|stop|status|restart|reload}"
- exit 1
- ;;
-esac
diff --git a/build/src/main/resources/bin/init.d/jboss-as.conf b/build/src/main/resources/bin/init.d/jboss-as.conf
deleted file mode 100644
index cbe4aa7..0000000
--- a/build/src/main/resources/bin/init.d/jboss-as.conf
+++ /dev/null
@@ -1,22 +0,0 @@
-# General configuration for the init.d scripts,
-# not necessarily for JBoss AS itself.
-
-# The username who should own the process.
-#
-JBOSS_USER=jboss-as
-
-# The amount of time to wait for startup
-#
-# STARTUP_WAIT=30
-
-# The amount of time to wait for shutdown
-#
-# SHUTDOWN_WAIT=30
-
-# Location to keep the console log
-#
-# JBOSS_CONSOLE_LOG=/var/log/jboss-as/console.log
-
-# The configuration you want to run
-#
-JBOSS_CONFIG=standalone-web.xml
diff --git a/build/src/main/resources/bin/initscripts/systemd/jboss-as.conf b/build/src/main/resources/bin/initscripts/systemd/jboss-as.conf
new file mode 100644
index 0000000..82699ad
--- /dev/null
+++ b/build/src/main/resources/bin/initscripts/systemd/jboss-as.conf
@@ -0,0 +1,4 @@
+# The configuration you want to run
+#
+JBOSS_CONFIG=standalone-web.xml
+
diff --git a/build/src/main/resources/bin/initscripts/systemd/jboss-as.service b/build/src/main/resources/bin/initscripts/systemd/jboss-as.service
new file mode 100644
index 0000000..32c1c10
--- /dev/null
+++ b/build/src/main/resources/bin/initscripts/systemd/jboss-as.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=The JBoss Application Server
+After=syslog.target network.target
+Before=httpd.service
+
+[Service]
+Environment=LAUNCH_JBOSS_IN_BACKGROUND=1
+EnvironmentFile=-/etc/jboss-as/jboss-as.conf
+User=jboss-as
+LimitNOFILE=102642
+PIDFile=/var/run/jboss-as/jboss-as.pid
+ExecStart=/usr/share/jboss-as/bin/standalone.sh -c $JBOSS_CONFIG
+StandardOutput=null
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/build/src/main/resources/bin/initscripts/sysv/jboss-as.conf b/build/src/main/resources/bin/initscripts/sysv/jboss-as.conf
new file mode 100644
index 0000000..d999aca
--- /dev/null
+++ b/build/src/main/resources/bin/initscripts/sysv/jboss-as.conf
@@ -0,0 +1,22 @@
+# General configuration for the init.d scripts,
+# not necessarily for JBoss AS itself.
+
+# The username who should own the process.
+#
+# JBOSS_USER=jboss-as
+
+# The amount of time to wait for startup
+#
+# STARTUP_WAIT=30
+
+# The amount of time to wait for shutdown
+#
+# SHUTDOWN_WAIT=30
+
+# Location to keep the console log
+#
+# JBOSS_CONSOLE_LOG=/var/log/jboss-as/console.log
+
+# The configuration you want to run
+#
+# JBOSS_CONFIG=standalone.xml
diff --git a/build/src/main/resources/bin/initscripts/sysv/jboss-as.sh b/build/src/main/resources/bin/initscripts/sysv/jboss-as.sh
new file mode 100755
index 0000000..7763855
--- /dev/null
+++ b/build/src/main/resources/bin/initscripts/sysv/jboss-as.sh
@@ -0,0 +1,176 @@
+#!/bin/sh
+#
+# JBoss AS control script
+#
+# chkconfig: - 80 20
+# description: JBoss AS Standalone
+# pidfile: /var/run/jboss-as/jboss-as.pid
+# config: /etc/jboss-as/jboss-as.conf
+
+# Source function library.
+. /etc/init.d/functions
+
+# Load Java configuration.
+[ -r /etc/java/java.conf ] && . /etc/java/java.conf
+export JAVA_HOME
+
+# Load JBoss AS init.d configuration.
+if [ -z "$JBOSS_CONF" ]; then
+ JBOSS_CONF="/etc/jboss-as/jboss-as.conf"
+fi
+
+[ -r "$JBOSS_CONF" ] && . "${JBOSS_CONF}"
+
+# Set defaults.
+
+if [ -z "$JBOSS_HOME" ]; then
+ JBOSS_HOME=/usr/share/jboss-as
+fi
+export JBOSS_HOME
+
+if [ -z "$JBOSS_PIDFILE" ]; then
+ JBOSS_PIDFILE=/var/run/jboss-as/jboss-as.pid
+fi
+export JBOSS_PIDFILE
+
+if [ -z "$JBOSS_CONSOLE_LOG" ]; then
+ JBOSS_CONSOLE_LOG=/var/log/jboss-as/console.log
+fi
+
+if [ -z "$STARTUP_WAIT" ]; then
+ STARTUP_WAIT=30
+fi
+
+if [ -z "$SHUTDOWN_WAIT" ]; then
+ SHUTDOWN_WAIT=30
+fi
+
+if [ -z "$JBOSS_CONFIG" ]; then
+ JBOSS_CONFIG=standalone.xml
+fi
+
+if [ -z "$JBOSS_SCRIPT" ]; then
+ JBOSS_SCRIPT=$JBOSS_HOME/bin/standalone.sh
+fi
+
+prog='jboss-as'
+
+CMD_PREFIX=''
+
+if [ ! -z "$JBOSS_USER" ]; then
+ if [ -x /etc/rc.d/init.d/functions ]; then
+ CMD_PREFIX="daemon --user $JBOSS_USER"
+ else
+ CMD_PREFIX="su - $JBOSS_USER -c"
+ fi
+fi
+
+start() {
+ echo -n "Starting $prog: "
+ if [ -f $JBOSS_PIDFILE ]; then
+ read ppid < $JBOSS_PIDFILE
+ if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
+ echo -n "$prog is already running"
+ failure
+ echo
+ return 1
+ else
+ rm -f $JBOSS_PIDFILE
+ fi
+ fi
+ mkdir -p $(dirname $JBOSS_CONSOLE_LOG)
+ cat /dev/null > $JBOSS_CONSOLE_LOG
+
+ mkdir -p $(dirname $JBOSS_PIDFILE)
+ chown $JBOSS_USER $(dirname $JBOSS_PIDFILE) || true
+ #$CMD_PREFIX JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT 2>&1 > $JBOSS_CONSOLE_LOG &
+ #$CMD_PREFIX JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT &
+
+ if [ ! -z "$JBOSS_USER" ]; then
+ if [ -x /etc/rc.d/init.d/functions ]; then
+ daemon --user $JBOSS_USER LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT -c $JBOSS_CONFIG 2>&1 > $JBOSS_CONSOLE_LOG &
+ else
+ su - $JBOSS_USER -c "LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT -c $JBOSS_CONFIG" 2>&1 > $JBOSS_CONSOLE_LOG &
+ fi
+ fi
+
+ count=0
+ launched=false
+
+ until [ $count -gt $STARTUP_WAIT ]
+ do
+ grep 'JBoss AS.*started in' $JBOSS_CONSOLE_LOG > /dev/null
+ if [ $? -eq 0 ] ; then
+ launched=true
+ break
+ fi
+ sleep 1
+ let count=$count+1;
+ done
+
+ success
+ echo
+ return 0
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ count=0;
+
+ if [ -f $JBOSS_PIDFILE ]; then
+ read kpid < $JBOSS_PIDFILE
+ let kwait=$SHUTDOWN_WAIT
+
+ # Try issuing SIGTERM
+
+ kill -15 $kpid
+ until [ `ps --pid $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '0' ] || [ $count -gt $kwait ]
+ do
+ sleep 1
+ let count=$count+1;
+ done
+
+ if [ $count -gt $kwait ]; then
+ kill -9 $kpid
+ fi
+ fi
+ rm -f $JBOSS_PIDFILE
+ success
+ echo
+}
+
+status() {
+ if [ -f $JBOSS_PIDFILE ]; then
+ read ppid < $JBOSS_PIDFILE
+ if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
+ echo "$prog is running (pid $ppid)"
+ return 0
+ else
+ echo "$prog dead but pid file exists"
+ return 1
+ fi
+ fi
+ echo "$prog is not running"
+ return 3
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ status)
+ status
+ ;;
+ *)
+ ## If no parameters are given, print which are avaiable.
+ echo "Usage: $0 {start|stop|status|restart|reload}"
+ exit 1
+ ;;
+esac
diff --git a/build/src/main/resources/bin/standalone.sh b/build/src/main/resources/bin/standalone.sh
index 364dd9e..a3c32da 100755
--- a/build/src/main/resources/bin/standalone.sh
+++ b/build/src/main/resources/bin/standalone.sh
@@ -147,6 +147,10 @@ fi
if [ "x$JBOSS_CONFIG_DIR" = "x" ]; then
JBOSS_CONFIG_DIR="$JBOSS_BASE_DIR/configuration"
fi
+# determine the default pid file location dir, if not set
+if [ "x$JBOSS_PIDFILE" = "x" ]; then
+ JBOSS_PIDFILE="/var/run/jboss-as/jboss-as.pid"
+fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
--
1.7.10