(I'm back. The new baby is doing fine, but she puts some pressure on my 
programming time.)

To run integrated Tomcat and jBoss 2.0 FINAL as a daemon from Linux Redhat 7...

1) Download
   http://jboss.org/newsite/bin/jboss_tomcat.zip

2) Unzip to /usr/local as /usr/local/jboss_tomcat, which will create
   /usr/local/jboss_tomcat/jboss-2.0-FINAL
   /usr/local/jboss_tomcat/tomcat-3.2-b7

3) Create two symbolic links:
   ln -s /usr/local/jboss_tomcat/jboss-2.0-FINAL /usr/local/jboss
   ln -s /usr/local/jboss_tomcat/tomcat-3.2-b7 /usr/local/tomcat
(This allows jBoss to use its default location.)

4) Copy go.sh (attached) to /usr/local/jboss/bin and set execute mode:
   chmod u+x /usr/local/jboss/bin/go.sh

5) Copy jboss (attached) to /etc/rc.d/init.d and set execute mode:
   chmod u+x /etc/rc.d/init.d/jboss

6) Edit /etc/rc.d/init.d/jboss and /usr/local/jboss/bin/go.sh and set
the correct location for your installation of Java.  If you don't recall
where java is, try:
   which java
which returns something like
   /usr/java/bin/java
So the lines should be:
   export JAVA_HOME=/usr/java/bin

7) Use chkconfig to create symbolic links for appropriate run levels:
   chkconfig -level 2345 jboss on
(jBoss/Tomcat will now restart every time you reboot.)

8) Run:
   /etc/rc.d/init.d/jboss start

9) Test: You can run the test servlet to invoke an EJB:
   http://localhost:8080/jboss/index.html

10) Test: You can also view the startup log:
   more /usr/local/jboss/log/server.log

11) Test: You can also view the JNDI namespace:
   cd /usr/local/jboss/bin
   java -jar jndiView.jar
Should show something like this:

InitialContext
   +- TopicConnectionFactory
   +- Optimized
   +- QueueConnectionFactory
   +- topic
   |   +- metrics
   +- queue
   |   +- testQueue
   +- NonOptimized
   +- jmx:localhost:rmi
   +- invokers
   |   +- Optimized
   |   +- NonOptimized
   +- jmx
   +- RemoteControl

Note: There's an annoying feature of this installation. You can't create a
new Context in Tomcat using server.xml because server.xml is not parsed.
The only way to create a new Context is to create a new Web application
and deploy it in /usr/local/jboss/deploy in the traditional jBoss way --
the Tomcat way won't work. This makes debugging your servlets harder.
(This is fixed in jBoss 2.1; instructions forthcoming.)

Note: There are a couple of long lines in the attached files which might 
wrap, depending on e-mail connections, specifically the lines starting with
   $JAVACMD $JBOSS_OPTS
and
   export PATH=

################################
### Contents of go.sh
###
### (Make sure #!/bin/sh is the first line of the file and the file
### has execute permissions for root.)
################################

#!/bin/sh
#
#go.sh
# Shell script to start and stop integrated Tomcat/jBoss

export TOMCAT_HOME=/usr/local/tomcat
export JBOSS_HOME=/usr/local/jboss
export JAVA_HOME=/usr/java

JAVACMD=$JAVA_HOME/bin/java

# Minimal jar file to get JBoss started.
CLASSPATH=$CLASSPATH:$JBOSS_HOME/bin/run.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"

CLASSPATH="$CLASSPATH:${TOMCAT_HOME}/lib"
CLASSPATH="$CLASSPATH:${TOMCAT_HOME}/lib/servlet.jar"
CLASSPATH="$CLASSPATH:${TOMCAT_HOME}/lib/webserver.jar"
CLASSPATH="$CLASSPATH:${TOMCAT_HOME}/lib/xml.jar"
CLASSPATH="$CLASSPATH:${TOMCAT_HOME}/lib/jaxp.jar"
CLASSPATH="$CLASSPATH:${TOMCAT_HOME}/lib/parser.jar"
CLASSPATH="$CLASSPATH:${TOMCAT_HOME}/lib/jasper.jar"

# 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 -Dtomcat.home=$TOMCAT_HOME 
org.jboss.Main tomcat > /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 -Dtomcat.home=$TOMCAT_HOME 
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

################################
### Contents of jboss
###
### (Make sure #!/bin/sh is the first line of the file and the file
### has execute permissions for root.)
################################

#!/bin/sh
#
# Startup script for JBOSS, the J2EE EJB Server
#
# chkconfig: 2345 95 15
# description: Jboss is an EJB Server
# processname: jboss
# pidfile: /var/run/jboss.pid
# config: /usr/local/jboss/conf/default/jboss.conf
# logfile: /usr/local/jboss/log/server.log
#
#
# version 1.0 -
# version 1.1 - kjenks - Start Tomcat, too.
#


# Source function library.
. /etc/rc.d/init.d/functions


#SET THE FOLLOWING LINE TO YOUR JAVA_HOME
export JAVA_HOME=/usr/java/bin
#export JAVA_HOME=/usr/java/jdk1.3  #SUN's rpm
#export JAVA_HOME=/opt/IBMJava2-13  #IBM's rpm


#SET THE FOLLOWING LINE TO YOUR CORRECT JBOSS_HOME
export JBOSS_HOME=/usr/local/jboss


export PATH=$PATH:$JBOSS_HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin


#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: "
         daemon $JBOSS_HOME/bin/go.sh start
         RETVAL=$?
         echo
         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/jboss
         ;;
   stop)
         echo -n "Stopping jboss daemon: "
         killproc jboss
         RETVAL=$?
         echo
         [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/jboss
         ;;
   restart)
         echo -n "Restarting jboss daemon: "
  $0 stop
  sleep 2
  $0 start
         ;;

esac

-- Ken Jenks, http://abiblion.com/

    Tools for reading.



--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
List Help?:          [EMAIL PROTECTED]

Reply via email to