3 Replies Latest reply on Oct 7, 2011 1:08 AM by Mark Paluch

    Jboss EAP start all server by default instead of default server

    anamika Gupta Newbie

      I have to run all server instead of default server. We can achieve it by typing ./run.sh -c all on the command prompt.

       

      But can we make some changes in any jboss Application Server file so that if we type ./run.sh it will start the all server not the default server.

       

      Any help will be greatly appreciated

        • 1. Re: Jboss EAP start all server by default instead of default server
          Peter Johnson Master

          Two possibilities:

           

          a) Edit run.sh adding "-c all" to the line that starts the app server

          b) Create a runall.sh that calls "run.sh -c all"

           

          I usually do option b

          • 2. Re: Jboss EAP start all server by default instead of default server
            anamika Gupta Newbie

            #!/bin/sh

            ### ====================================================================== ###

            ##                                                                          ##

            ##  JBoss Bootstrap Script                                                  ##

            ##                                                                          ##

            ### ====================================================================== ###

             

            ### $Id: run.sh 88978 2009-05-16 18:18:45Z alex.loubyansky@jboss.com $ ###

             

            DIRNAME=`dirname $0`

            PROGNAME=`basename $0`

            GREP="grep"

             

            # Use the maximum available, or set MAX_FD != -1 to use that

            MAX_FD="maximum"

             

            #

            # Helper to complain.

            #

            warn() {

                echo "${PROGNAME}: $*"

            }

             

            #

            # Helper to puke.

            #

            die() {

                warn $*

                exit 1

            }

             

            # OS specific support (must be 'true' or 'false').

            cygwin=false;

            darwin=false;

            linux=false;

            case "`uname`" in

                CYGWIN*)

                    cygwin=true

                    ;;

             

                Darwin*)

                    darwin=true

                    ;;

             

                Linux)

                    linux=true

                    ;;

            esac

             

            # Read an optional running configuration file

            if [ "x$RUN_CONF" = "x" ]; then

                RUN_CONF="$DIRNAME/run.conf"

            fi

            if [ -r "$RUN_CONF" ]; then

                . "$RUN_CONF"

            fi

             

            # Force IPv4 on Linux systems since IPv6 doesn't work correctly with jdk5 and lower

            if [ "$linux" = "true" ]; then

               JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"

            fi

             

            # For Cygwin, ensure paths are in UNIX format before anything is touched

            if $cygwin ; then

                [ -n "$JBOSS_HOME" ] &&

                    JBOSS_HOME=`cygpath --unix "$JBOSS_HOME"`

                [ -n "$JAVA_HOME" ] &&

                    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`

                [ -n "$JAVAC_JAR" ] &&

                    JAVAC_JAR=`cygpath --unix "$JAVAC_JAR"`

            fi

             

            # Setup JBOSS_HOME

            if [ "x$JBOSS_HOME" = "x" ]; then

                # get the full path (without any relative bits)

                JBOSS_HOME=`cd $DIRNAME/..; pwd`

            fi

            export JBOSS_HOME

             

            # Increase the maximum file descriptors if we can

            if [ "$cygwin" = "false" ]; then

                MAX_FD_LIMIT=`ulimit -H -n`

                if [ "$?" -eq 0 ]; then

                    # Darwin does not allow RLIMIT_INFINITY on file soft limit

                    if [ "$darwin" = "true" -a "$MAX_FD_LIMIT" = "unlimited" ]; then

                        MAX_FD_LIMIT=`/usr/sbin/sysctl -n kern.maxfilesperproc`

                    fi

             

                if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then

                    # use the system max

                    MAX_FD="$MAX_FD_LIMIT"

                fi

             

                ulimit -n $MAX_FD

                if [ "$?" -ne 0 ]; then

                    warn "Could not set maximum file descriptor limit: $MAX_FD"

                fi

                else

                warn "Could not query system maximum file descriptor limit: $MAX_FD_LIMIT"

                fi

            fi

             

            # Setup the JVM

            if [ "x$JAVA" = "x" ]; then

                if [ "x$JAVA_HOME" != "x" ]; then

                JAVA="$JAVA_HOME/bin/java"

                else

                JAVA="java"

                fi

            fi

             

            # Setup the classpath

            runjar="$JBOSS_HOME/bin/run.jar"

            if [ ! -f "$runjar" ]; then

                die "Missing required file: $runjar"

            fi

            JBOSS_BOOT_CLASSPATH="$runjar"

             

            # Tomcat uses the JDT Compiler

            # Only include tools.jar if someone wants to use the JDK instead.

            # compatible distribution which JAVA_HOME points to

            if [ "x$JAVAC_JAR" = "x" ]; then

                JAVAC_JAR_FILE="$JAVA_HOME/lib/tools.jar"

            else

                JAVAC_JAR_FILE="$JAVAC_JAR"

            fi

            if [ ! -f "$JAVAC_JAR_FILE" ]; then

               # MacOSX does not have a seperate tools.jar

               if [ "$darwin" != "true" -a "x$JAVAC_JAR" != "x" ]; then

                  warn "Missing file: JAVAC_JAR=$JAVAC_JAR"

                  warn "Unexpected results may occur."

               fi

               JAVAC_JAR_FILE=

            fi

             

            if [ "x$JBOSS_CLASSPATH" = "x" ]; then

                JBOSS_CLASSPATH="$JBOSS_BOOT_CLASSPATH"

            else

                JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_BOOT_CLASSPATH"

            fi

            if [ "x$JAVAC_JAR_FILE" != "x" ]; then

                JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JAVAC_JAR_FILE"

            fi

             

            # If -server not set in JAVA_OPTS, set it, if supported

            SERVER_SET=`echo $JAVA_OPTS | $GREP "\-server"`

            if [ "x$SERVER_SET" = "x" ]; then

             

                # Check for SUN(tm) JVM w/ HotSpot support

                if [ "x$HAS_HOTSPOT" = "x" ]; then

                HAS_HOTSPOT=`"$JAVA" -version 2>&1 | $GREP -i HotSpot`

                fi

             

                # Enable -server if we have Hotspot, unless we can't

                if [ "x$HAS_HOTSPOT" != "x" ]; then

                # MacOS does not support -server flag

                if [ "$darwin" != "true" ]; then

                    JAVA_OPTS="-server $JAVA_OPTS"

                fi

                fi

            fi

             

            # Setup JBoss Native library path

            # Use the common JBoss Native convention

            # for packing platform binaries

            #

            JBOSS_NATIVE_CPU=`uname -m`

            case "$JBOSS_NATIVE_CPU" in

              sun4u*)

                JBOSS_NATIVE_CPU="sparcv9"

              ;;

              i86pc*)

                JBOSS_NATIVE_CPU="x86"

              ;;

              i[3-6]86*)

                JBOSS_NATIVE_CPU="x86"

              ;;

              x86_64*)

                JBOSS_NATIVE_CPU="x64"

              ;;

              ia64*)

                JBOSS_NATIVE_CPU="i64"

              ;;

              9000/800*)

                JBOSS_NATIVE_CPU="parisc2"

              ;;

              Power*)

                JBOSS_NATIVE_CPU="ppc"

              ;;

            esac

             

            JBOSS_NATIVE_SYS=`uname -s`

            case "$JBOSS_NATIVE_SYS" in

              Linux*)

                JBOSS_NATIVE_SYS="linux2"

              ;;

              SunOS*)

                JBOSS_NATIVE_SYS="solaris"

              ;;

              HP-UX*)

                JBOSS_NATIVE_SYS="hpux"

              ;;

              CYGWIN*)

                JBOSS_NATIVE_SYS="windows"

              ;;

            esac

             

            JBOSS_NATIVE_DIR="$JBOSS_HOME/bin/META-INF/lib/$JBOSS_NATIVE_SYS/$JBOSS_NATIVE_CPU"

            if [ -d "$JBOSS_NATIVE_DIR" ]; then

                if $cygwin ; then

                    export PATH="$JBOSS_NATIVE_DIR:$PATH"

                    JBOSS_NATIVE_DIR=`cygpath --path --windows "$JBOSS_NATIVE_DIR"`

                else

                    if [ "x$LD_LIBRARY_PATH" = "x" ]; then

                      LD_LIBRARY_PATH="$JBOSS_NATIVE_DIR"

                    else

                      LD_LIBRARY_PATH="$JBOSS_NATIVE_DIR:$LD_LIBRARY_PATH"

                    fi

                    export LD_LIBRARY_PATH

                fi

                if [ "x$JAVA_OPTS" = "x" ]; then

                    JAVA_OPTS="-Djava.library.path=$JBOSS_NATIVE_DIR"

                else

                    JAVA_OPTS="$JAVA_OPTS -Djava.library.path=$JBOSS_NATIVE_DIR"

                fi

            fi

             

            # Setup JBoss specific properties

            JAVA_OPTS="-Dprogram.name=$PROGNAME $JAVA_OPTS"

             

            # Setup the java endorsed dirs

            JBOSS_ENDORSED_DIRS="$JBOSS_HOME/lib/endorsed"

             

            # For Cygwin, switch paths to Windows format before running java

            if $cygwin; then

                JBOSS_HOME=`cygpath --path --windows "$JBOSS_HOME"`

                JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`

                JBOSS_CLASSPATH=`cygpath --path --windows "$JBOSS_CLASSPATH"`

                JBOSS_ENDORSED_DIRS=`cygpath --path --windows "$JBOSS_ENDORSED_DIRS"`

            fi

             

            # Display our environment

            echo "========================================================================="

            echo ""

            echo "  JBoss Bootstrap Environment"

            echo ""

            echo "  JBOSS_HOME: $JBOSS_HOME"

            echo ""

            echo "  JAVA: $JAVA"

            echo ""

            echo "  JAVA_OPTS: $JAVA_OPTS"

            echo ""

            echo "  CLASSPATH: $JBOSS_CLASSPATH"

            echo ""

            echo "========================================================================="

            echo ""

             

            while true; do

               if [ "x$LAUNCH_JBOSS_IN_BACKGROUND" = "x" ]; then

                  # Execute the JVM in the foreground

                  "$JAVA" $JAVA_OPTS \

                     -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" \

                     -classpath "$JBOSS_CLASSPATH" \

                     org.jboss.Main  -c all "$@"

                  JBOSS_STATUS=$?

               else

                  # Execute the JVM in the background

                  "$JAVA" $JAVA_OPTS \

                     -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" \

                     -classpath "$JBOSS_CLASSPATH" \

                     org.jboss.Main -c all "$@" &

                  JBOSS_PID=$!

                  # Trap common signals and relay them to the jboss process

                  trap "kill -HUP  $JBOSS_PID" HUP

                  trap "kill -TERM $JBOSS_PID" INT

                  trap "kill -QUIT $JBOSS_PID" QUIT

                  trap "kill -PIPE $JBOSS_PID" PIPE

                  trap "kill -TERM $JBOSS_PID" TERM

                  # Wait until the background process exits

                  WAIT_STATUS=128

                  while [ "$WAIT_STATUS" -ge 128 ]; do

                     wait $JBOSS_PID 2>/dev/null

                     WAIT_STATUS=$?

                     if [ "${WAIT_STATUS}" -gt 128 ]; then

                        SIGNAL=`expr ${WAIT_STATUS} - 128`

                        SIGNAL_NAME=`kill -l ${SIGNAL}`

                        echo "*** JBossAS process (${JBOSS_PID}) received ${SIGNAL_NAME} signal ***" >&2

                     fi         

                  done

                  if [ "${WAIT_STATUS}" -lt 127 ]; then

                     JBOSS_STATUS=$WAIT_STATUS

                  else

                     JBOSS_STATUS=0

                  fi     

               fi

               # If restart doesn't work, check you are running JBossAS 4.0.4+

               #    http://jira.jboss.com/jira/browse/JBAS-2483

               # or the following if you're running Red Hat 7.0

               #    http://developer.java.sun.com/developer/bugParade/bugs/4465334.html  

               if [ "$JBOSS_STATUS" -eq 10 ]; then

                  echo "Restarting JBoss..."

               else

                  exit $JBOSS_STATUS

               fi

            done

             

             

             

            Can you please suggest me where to make the change if i want to go with approach 1. i have tries to change the script as specified above

            • 3. Re: Jboss EAP start all server by default instead of default server
              Mark Paluch Master

              Hi Anamika,

              your changes should work.

               

              Best regards,

              Mark