Somewhere on the JBoss mailing list I've found shell scripts to start/stop JBoss on RH. I use Solaris and had to change them slightly. However, I do not remember the link to the original script, so here's my version.
 
file /etc/init.d/jboss
 
#!/bin/sh
 
# Source function library.
#. /etc/rc.d/init.d/functions
 

#SET THE FOLLOWING LINE TO YOUR JAVA_HOME
JAVA_HOME=/usr/local/java
 
#SET THE FOLLOWING LINE TO YOUR CORRECT JBOSS_HOME
JBOSS_HOME=/opt/jboss
 
PATH=${PATH}:${JBOSS_HOME}/bin:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin
export PATH
 
#IF YOU NEED SPECIAL CLASSES IN YOUR CLASSPATH
#AT STARTUP, ADD THEM TO YOUR CLASSPATH HERE
#export CLASSPATH=
 

RETVAL=0
# See how we were called.
case "$1" in
   start)
         cd $JBOSS_HOME/bin
         echo -n "Starting jboss daemon: "
         $JBOSS_HOME/bin/jboss start &
         ;;
   stop)
         echo -n "Stopping jboss daemon: "
         $JBOSS_HOME/bin/jboss stop
         ;;
   restart)
         echo -n "Restarting jboss daemon: "
  $0 stop
  sleep 20
  $0 start
         ;;
esac
 
file /opt/jboss/bin/jboss
 
#!/bin/sh
 
JBOSS_HOME=/opt/jboss
JAVA_HOME=/usr/java
 
JAVACMD=$JAVA_HOME/bin/java
 
# Minimal jar file to get JBoss started.
CLASSPATH=$CLASSPATH:$JBOSS_HOME/bin/run.jar
CLASSPATH="$CLASSPATH:$JBOSS_HOME/lib/crimson.jar"
 
#next line for jBoss_FINAL-2.0
#CLASSPATH="$CLASSPATH:$JBOSS_HOME/lib/jdbc2_0-stdext.jar"
#CLASSPATH="$CLASSPATH:$JBOSS_HOME/lib/jboss-jaas.jar"
 
JBOSS_OPTS=-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.crimson.jaxp.Do
cumentBuilderFactoryImpl
JBOSS_OPTS="$JBOSS_OPTS -Djavax.xml.parsers.SAXParserFactory=org.apache.crimson.
jaxp.SAXParserFactoryImpl"
 
# Add the tools.jar file so that Tomcat can find the Java compiler.
CLASSPATH="${CLASSPATH}:$JAVA_HOME/lib/tools.jar"
#if [ "${SPYDERMQ_HOME}X" != "X" ] ; then
#    if [ -x $SPYDERMQ_HOME ] ; then
#        echo "Adding jar files in ${SPYDERMQ_HOME}/lib to CLASSPATH"
#        CLASSPATH="$CLASSPATH:${SPYDERMQ_HOME}/lib/spydermq.jar"
#        CLASSPATH="$CLASSPATH:${SPYDERMQ_HOME}/lib/jms.jar"
#        CLASSPATH="$CLASSPATH:${SPYDERMQ_HOME}/lib/jnpserver.jar"
#    else
#        echo "SPYDERMQ_HOME is set, but is an invalid directory"
#    fi
#fi
 
if [ "$1" = "start" ] ; then
   shift
   $JAVACMD $JBOSS_OPTS -classpath $CLASSPATH org.jboss.Main > /dev/null 2>&1 &
   echo $! > /var/run/jboss.pid
elif [ "$1" = "stop" ] ; then
   shift
   kill -15 `cat /var/run/jboss.pid`
   rm -rf /var/run/jboss.pid
elif [ "$1" = "run" ] ; then
   shift
   $JAVACMD $JBOSS_OPTS -classpath $CLASSPATH org.jboss.Main tomcat "$@"
else
   echo "Usage:"
   echo "jboss (start|run|stop)"
   echo "        start - start jboss in the background"
   echo "        run   - start jboss in the foreground"
   echo "        stop  - stop jboss"
 

   exit 0
fi
-----Original Message-----
From: Laurens Fridael [mailto:[EMAIL PROTECTED]]
Sent: Mittwoch, 20. Juni 2001 10:44
To: Jboss-User
Subject: [JBoss-user] Proper shutdown under Linux

Hi,
 
 
I'm using RedHat Linux 6.2. I can start JBoss in the background by running "run.sh &". However, I cannot properly kill it. I can only kill the parent process (run.sh) by issuing "kill -9 pid". This abruptly terminates JBoss without invoking its shutdown procedure. (I'm not seeing the shutdown commands in the server.log.)
 
Under Windows I can achieve a clean shutdown by ^C-ing in the Window. However sending an interrupt (^C) or quit signal under Linux using "kill -2" or "kill -3" doesn't work at all.
 
Help me out please. How can I properly shutdown JBoss under Linux? I'm using IBM's JDK 1.3 if that matters.
 
 
Regards
-Laurens

Reply via email to