Blob Blame History Raw
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