home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / xampp / xampp-tomcat-addon-1.4.9-installer.exe / catalina.sh < prev    next >
Encoding:
Linux/UNIX/POSIX Shell Script  |  2004-08-28  |  9.8 KB  |  288 lines

  1. #!/bin/sh
  2. # -----------------------------------------------------------------------------
  3. # Start/Stop Script for the CATALINA Server
  4. #
  5. # Environment Variable Prequisites
  6. #
  7. #   CATALINA_HOME   May point at your Catalina "build" directory.
  8. #
  9. #   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
  10. #                   of a Catalina installation.  If not present, resolves to
  11. #                   the same directory that CATALINA_HOME points to.
  12. #
  13. #   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
  14. #                   "stop", or "run" command is executed.
  15. #
  16. #   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
  17. #                   the JVM should use (java.io.tmpdir).  Defaults to
  18. #                   $CATALINA_BASE/temp.
  19. #
  20. #   JAVA_HOME       Must point at your Java Development Kit installation.
  21. #
  22. #   JAVA_OPTS       (Optional) Java runtime options used when the "start",
  23. #                   "stop", or "run" command is executed.
  24. #
  25. #   JPDA_TRANSPORT  (Optional) JPDA transport used when the "jpda start"
  26. #                   command is executed. The default is "dt_socket".
  27. #
  28. #   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"
  29. #                   command is executed. The default is 8000.
  30. #
  31. #   JSSE_HOME       (Optional) May point at your Java Secure Sockets Extension
  32. #                   (JSSE) installation, whose JAR files will be added to the
  33. #                   system class path used to start Tomcat.
  34. #
  35. #   CATALINA_PID    (Optional) Path of the file which should contains the pid
  36. #                   of catalina startup java process, when start (fork) is used
  37. #
  38. # $Id: catalina.sh,v 1.13.2.1 2004/08/21 15:49:49 yoavs Exp $
  39. # -----------------------------------------------------------------------------
  40.  
  41. # OS specific support.  $var _must_ be set to either true or false.
  42. cygwin=false
  43. os400=false
  44. case "`uname`" in
  45. CYGWIN*) cygwin=true;;
  46. OS400*) os400=true;;
  47. esac
  48.  
  49. # resolve links - $0 may be a softlink
  50. PRG="$0"
  51.  
  52. while [ -h "$PRG" ]; do
  53.   ls=`ls -ld "$PRG"`
  54.   link=`expr "$ls" : '.*-> \(.*\)$'`
  55.   if expr "$link" : '.*/.*' > /dev/null; then
  56.     PRG="$link"
  57.   else
  58.     PRG=`dirname "$PRG"`/"$link"
  59.   fi
  60. done
  61.  
  62. # Get standard environment variables
  63. PRGDIR=`dirname "$PRG"`
  64.  
  65. # Only set CATALINA_HOME if not already set
  66. [ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." ; pwd`
  67.  
  68. if [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
  69.   . "$CATALINA_HOME"/bin/setenv.sh
  70. fi
  71.  
  72. # For Cygwin, ensure paths are in UNIX format before anything is touched
  73. if $cygwin; then
  74.   [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
  75.   [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
  76.   [ -n "$CATALINA_BASE" ] && CATALINA_BASE=`cygpath --unix "$CATALINA_BASE"`
  77.   [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
  78.   [ -n "$JSSE_HOME" ] && JSSE_HOME=`cygpath --absolute --unix "$JSSE_HOME"`
  79. fi
  80.  
  81. # For OS400
  82. if $os400; then
  83.   # Set job priority to standard for interactive (interactive - 6) by using
  84.   # the interactive priority - 6, the helper threads that respond to requests
  85.   # will be running at the same priority as interactive jobs.
  86.   COMMAND='chgjob job('$JOBNAME') runpty(6)'
  87.   system $COMMAND
  88.  
  89.   # Enable multi threading
  90.   export QIBM_MULTI_THREADED=Y
  91. fi
  92.  
  93. # Get standard Java environment variables
  94. if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
  95.   BASEDIR="$CATALINA_HOME"
  96.   . "$CATALINA_HOME"/bin/setclasspath.sh
  97. else
  98.   echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
  99.   echo "This file is needed to run this program"
  100.   exit 1
  101. fi
  102.  
  103. # Add on extra jar files to CLASSPATH
  104. if [ -n "$JSSE_HOME" ]; then
  105.   CLASSPATH="$CLASSPATH":"$JSSE_HOME"/lib/jcert.jar:"$JSSE_HOME"/lib/jnet.jar:"$JSSE_HOME"/lib/jsse.jar
  106. fi
  107. CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar:"$CATALINA_HOME"/bin/commons-logging-api.jar
  108.  
  109. if [ -z "$CATALINA_BASE" ] ; then
  110.   CATALINA_BASE="$CATALINA_HOME"
  111. fi
  112.  
  113. if [ -z "$CATALINA_TMPDIR" ] ; then
  114.   # Define the java.io.tmpdir to use for Catalina
  115.   CATALINA_TMPDIR="$CATALINA_BASE"/temp
  116. fi
  117.  
  118. # For Cygwin, switch paths to Windows format before running java
  119. if $cygwin; then
  120.   JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
  121.   CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"`
  122.   CATALINA_BASE=`cygpath --absolute --windows "$CATALINA_BASE"`
  123.   CATALINA_TMPDIR=`cygpath --absolute --windows "$CATALINA_TMPDIR"`
  124.   CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
  125.   [ -n "$JSSE_HOME" ] && JSSE_HOME=`cygpath --absolute --windows "$JSSE_HOME"`
  126.   JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
  127. fi
  128.  
  129. # ----- Execute The Requested Command -----------------------------------------
  130.  
  131. echo "Using CATALINA_BASE:   $CATALINA_BASE"
  132. echo "Using CATALINA_HOME:   $CATALINA_HOME"
  133. echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"
  134. echo "Using JAVA_HOME:       $JAVA_HOME"
  135.  
  136. if [ "$1" = "jpda" ] ; then
  137.   if [ -z "$JPDA_TRANSPORT" ]; then
  138.     JPDA_TRANSPORT="dt_socket"
  139.   fi
  140.   if [ -z "$JPDA_ADDRESS" ]; then
  141.     JPDA_ADDRESS="8000"
  142.   fi
  143.   if [ -z "$JPDA_OPTS" ]; then
  144.     JPDA_OPTS="-Xdebug -Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=n"
  145.   fi
  146.   CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
  147.   shift
  148. fi
  149.  
  150. if [ "$1" = "debug" ] ; then
  151.  
  152.   if $os400; then
  153.     echo "Debug command not available on OS400"
  154.     exit 1
  155.   else
  156.     shift
  157.     if [ "$1" = "-security" ] ; then
  158.       echo "Using Security Manager"
  159.       shift
  160.       exec "$_RUNJDB" $JAVA_OPTS $CATALINA_OPTS \
  161.         -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
  162.         -sourcepath "$CATALINA_HOME"/../../jakarta-tomcat-catalina/catalina/src/share \
  163.         -Djava.security.manager \
  164.         -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
  165.         -Dcatalina.base="$CATALINA_BASE" \
  166.         -Dcatalina.home="$CATALINA_HOME" \
  167.         -Djava.io.tmpdir="$CATALINA_TMPDIR" \
  168.         org.apache.catalina.startup.Bootstrap "$@" start
  169.     else
  170.       exec "$_RUNJDB" $JAVA_OPTS $CATALINA_OPTS \
  171.         -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
  172.         -sourcepath "$CATALINA_HOME"/../../jakarta-tomcat-catalina/catalina/src/share \
  173.         -Dcatalina.base="$CATALINA_BASE" \
  174.         -Dcatalina.home="$CATALINA_HOME" \
  175.         -Djava.io.tmpdir="$CATALINA_TMPDIR" \
  176.         org.apache.catalina.startup.Bootstrap "$@" start
  177.     fi
  178.   fi
  179.  
  180. elif [ "$1" = "run" ]; then
  181.  
  182.   shift
  183.   if [ "$1" = "-security" ] ; then
  184.     echo "Using Security Manager"
  185.     shift
  186.     exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
  187.       -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
  188.       -Djava.security.manager \
  189.       -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
  190.       -Dcatalina.base="$CATALINA_BASE" \
  191.       -Dcatalina.home="$CATALINA_HOME" \
  192.       -Djava.io.tmpdir="$CATALINA_TMPDIR" \
  193.       org.apache.catalina.startup.Bootstrap "$@" start
  194.   else
  195.     exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
  196.       -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
  197.       -Dcatalina.base="$CATALINA_BASE" \
  198.       -Dcatalina.home="$CATALINA_HOME" \
  199.       -Djava.io.tmpdir="$CATALINA_TMPDIR" \
  200.       org.apache.catalina.startup.Bootstrap "$@" start
  201.   fi
  202.  
  203. elif [ "$1" = "start" ] ; then
  204.  
  205.   shift
  206.   touch "$CATALINA_BASE"/logs/catalina.out
  207.   if [ "$1" = "-security" ] ; then
  208.     echo "Using Security Manager"
  209.     shift
  210.     "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
  211.       -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
  212.       -Djava.security.manager \
  213.       -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
  214.       -Dcatalina.base="$CATALINA_BASE" \
  215.       -Dcatalina.home="$CATALINA_HOME" \
  216.       -Djava.io.tmpdir="$CATALINA_TMPDIR" \
  217.       org.apache.catalina.startup.Bootstrap "$@" start \
  218.       >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
  219.  
  220.       if [ ! -z "$CATALINA_PID" ]; then
  221.         echo $! > $CATALINA_PID
  222.       fi
  223.   else
  224.     "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
  225.       -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
  226.       -Dcatalina.base="$CATALINA_BASE" \
  227.       -Dcatalina.home="$CATALINA_HOME" \
  228.       -Djava.io.tmpdir="$CATALINA_TMPDIR" \
  229.       org.apache.catalina.startup.Bootstrap "$@" start \
  230.       >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
  231.  
  232.       if [ ! -z "$CATALINA_PID" ]; then
  233.         echo $! > $CATALINA_PID
  234.       fi
  235.   fi
  236.  
  237. elif [ "$1" = "stop" ] ; then
  238.  
  239.   shift
  240.   FORCE=0
  241.   if [ "$1" = "-force" ]; then
  242.     shift
  243.     FORCE=1
  244.   fi
  245.  
  246.   "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
  247.     -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
  248.     -Dcatalina.base="$CATALINA_BASE" \
  249.     -Dcatalina.home="$CATALINA_HOME" \
  250.     -Djava.io.tmpdir="$CATALINA_TMPDIR" \
  251.     org.apache.catalina.startup.Bootstrap "$@" stop
  252.  
  253.   if [ $FORCE -eq 1 ]; then
  254.     if [ ! -z "$CATALINA_PID" ]; then
  255.        echo "Killing: `cat $CATALINA_PID`"
  256.        kill -9 `cat $CATALINA_PID`
  257.     fi
  258.   fi
  259.  
  260. elif [ "$1" = "version" ] ; then
  261.  
  262.     "$_RUNJAVA"   \
  263.       -classpath "$CATALINA_HOME/server/lib/catalina.jar" \
  264.       org.apache.catalina.util.ServerInfo
  265.  
  266. else
  267.  
  268.   echo "Usage: catalina.sh ( commands ... )"
  269.   echo "commands:"
  270.   if $os400; then
  271.     echo "  debug             Start Catalina in a debugger (not available on OS400)"
  272.     echo "  debug -security   Debug Catalina with a security manager (not available on OS400)"
  273.   else
  274.     echo "  debug             Start Catalina in a debugger"
  275.     echo "  debug -security   Debug Catalina with a security manager"
  276.   fi
  277.   echo "  jpda start        Start Catalina under JPDA debugger"
  278.   echo "  run               Start Catalina in the current window"
  279.   echo "  run -security     Start in the current window with security manager"
  280.   echo "  start             Start Catalina in a separate window"
  281.   echo "  start -security   Start in a separate window with security manager"
  282.   echo "  stop              Stop Catalina"
  283.   echo "  stop -force       Stop Catalina (followed by kill -KILL)"
  284.   echo "  version           What version of tomcat are you running?"
  285.   exit 1
  286.  
  287. fi
  288.