7 ##################################################
8 # Some utility functions
9 ##################################################
15 [ "$OP" "$L" ] ||
continue
23 local PID
=$
(cat "$1" 2>/dev
/null
) ||
return 1
24 kill -0 "$PID" 2>/dev
/null
29 (( DEBUG
)) && echo "Reading $1.."
35 ##################################################
36 # Get the action & configs
37 ##################################################
42 while [[ $1 = -* ]]; do
51 ##################################################
52 # Read any configuration files
53 ##################################################
54 for CONFIG
in /etc
/default
/jetty
{,7} $HOME/.jettyrc
; do
55 if [ -f "$CONFIG" ] ; then
60 if [ -z "$JETTY_HOME" ]; then
61 JETTY_HOME
=/opt
/jetty7
64 if [ -z "$JAVA_HOME" ]; then
68 ##################################################
69 # Set tmp if not already set.
70 ##################################################
71 TMPDIR
=${TMPDIR:-/tmp}
75 ##################################################
76 # Try to find this script's configuration file,
77 # but only if no configurations were given on the
79 ##################################################
80 if [ -z "$JETTY_CONF" ]
82 if [ -f /etc
/jetty.conf
]
84 JETTY_CONF
=/etc
/jetty.conf
85 elif [ -f "$JETTY_HOME/etc/jetty.conf" ]
87 JETTY_CONF
=$JETTY_HOME/etc
/jetty.conf
91 ##################################################
92 # Get the list of config.xml files from jetty.conf
93 ##################################################
94 if [ -z "$CONFIGS" ] && [ -f "$JETTY_CONF" ] && [ -r "$JETTY_CONF" ]
98 if expr "$CONF" : '#' >/dev
/null
; then
104 # assume it's a directory with configure.xml files
105 # for example: /etc/jetty.d/
106 # sort the files before adding them to the list of CONFIGS
107 for file in "$CONF/"*.xml
109 if [ -r "$FILE" ] && [ -f "$FILE" ]
113 echo "** WARNING: Cannot read '$FILE' specified in '$JETTY_CONF'"
117 # assume it's a command line parameter (let start.jar deal with its validity)
123 #####################################################
124 # Find a location for the pid file
125 #####################################################
126 if [ -z "$JETTY_RUN" ]
128 JETTY_RUN
=$
(findDirectory
-w /var
/run
/usr
/var
/run
/tmp
)
131 #####################################################
132 # Find a PID for the pid file
133 #####################################################
134 if [ -z "$JETTY_PID" ]
136 JETTY_PID
="$JETTY_RUN/jetty.pid"
139 ##################################################
140 # Determine which JVM of version >1.5
141 # Try to use JAVA_HOME
142 ##################################################
143 if [ -z "$JAVA" ] && [ "$JAVA_HOME" ]
149 [ -x "$JAVA_HOME/bin/jre" -a ! -d "$JAVA_HOME/bin/jre" ] && JAVA
=$JAVA_HOME/bin
/jre
150 [ -x "$JAVA_HOME/bin/java" -a ! -d "$JAVA_HOME/bin/java" ] && JAVA
=$JAVA_HOME/bin
/java
156 echo "Cannot find a JRE or JDK. Please set JAVA_HOME to a >=1.5 JRE" 2>&2
160 JAVA_VERSION
=$
("$JAVA" -version 2>&1) ||
continue
161 IFS
='"_' read _ JAVA_VERSION _
<<< "$JAVA_VERSION"
163 #####################################################
164 # See if JETTY_PORT is defined
165 #####################################################
168 JAVA_OPTIONS
+=("-Djetty.port=$JETTY_PORT")
171 #####################################################
172 # See if JETTY_LOGS is defined
173 #####################################################
176 JAVA_OPTIONS
+=("-Djetty.logs=$JETTY_LOGS")
179 #####################################################
180 # Are we running on Windows? Could be, with Cygwin/NT.
181 #####################################################
183 CYGWIN
*) PATH_SEPARATOR
=";";;
184 *) PATH_SEPARATOR
=":";;
188 #####################################################
189 # Add jetty properties to Java VM options.
190 #####################################################
191 JAVA_OPTIONS
+=("-Djetty.home=$JETTY_HOME" "-Djava.io.tmpdir=$TMPDIR")
193 [ -f "$JETTY_HOME/etc/start.config" ] && JAVA_OPTIONS
=("-DSTART=$JETTY_HOME/etc/start.config" "${JAVA_OPTIONS[@]}")
195 #####################################################
196 # This is how the Jetty server will be started
197 #####################################################
199 JETTY_START
=$JETTY_HOME/start.jar
200 [ ! -f "$JETTY_START" ] && JETTY_START
=$JETTY_HOME/lib
/start.jar
202 START_INI
=$
(dirname $JETTY_START)/start.ini
203 [ -r "$START_INI" ] || START_INI
=""
205 RUN_ARGS
=("${JAVA_OPTIONS[@]}" -jar "$JETTY_START" $JETTY_ARGS "${CONFIGS[@]}")
206 RUN_CMD
=("$JAVA" "${RUN_ARGS[@]}")
208 #####################################################
209 # Comment these out after you're happy with what
210 # the script is doing.
211 #####################################################
214 echo "JETTY_HOME = $JETTY_HOME"
215 echo "JETTY_CONF = $JETTY_CONF"
216 echo "JETTY_RUN = $JETTY_RUN"
217 echo "JETTY_PID = $JETTY_PID"
218 echo "JETTY_ARGS = $JETTY_ARGS"
219 echo "CONFIGS = ${CONFIGS[*]}"
220 echo "JAVA_OPTIONS = ${JAVA_OPTIONS[*]}"
222 echo "RUN_CMD = ${RUN_CMD}"
227 stat_busy
"Starting Jetty Servlet Container"
229 "$JAVA" "${RUN_ARGS[@]}" &> /dev
/null
&
231 if [ $?
-gt 0 ]; then
239 stat_busy
"Stopping Jetty Servlet Container"
241 [ -e $JETTY_PID ] && PID
=`cat $JETTY_PID`
242 [ ! -z "$PID" ] && kill $PID &> /dev
/null
243 if [ $?
-gt 0 ]; then
257 echo "usage: $0 {start|stop|restart}"