summaryrefslogblamecommitdiff
path: root/www/jakarta-tomcat3/files/tomcatctl
blob: a28cac7623a2b4eeb2fb8f1ca128c37b497c61e8 (plain) (tree)
1
2
3
4


                    
                     

















                                                         






                                                                      























                                                                              

                                                        
                                                                                   




                                                   
                                                                             




                                            
                                                               

                      
 
 
























                                                                                                                                                           

 

                                                                              
                                     




                                                
        




                              

 





























                                                                              
#!/bin/sh

# Set some variables
APP_HOME=%%APP_HOME%%
STDOUT_LOG=%%STDOUT_LOG%%
STDERR_LOG=%%STDERR_LOG%%
JAR_FILE=${APP_HOME}/lib/webserver.jar
MYSELF=`basename $0`

# Set the CLASSPATH
unset CLASSPATH
for i in ${APP_HOME}/lib/* ; do
	if [ "$CLASSPATH" != "" ]; then
		CLASSPATH=${CLASSPATH}:$i
	else
		CLASSPATH=$i
	fi
done
if [ -f ${JAVA_HOME}/lib/tools.jar ] ; then
	CLASSPATH=${CLASSPATH}:${JAVA_HOME}/lib/tools.jar
fi

# Check if the JAVA_HOME directory is defined, otherwise set it to the
# fallback default
if [ "${JAVA_HOME}a" = "a" ]; then
	JAVA_HOME=%%JAVA_HOME%%
fi
JAVA_CMD=${JAVA_HOME}/bin/java


##############################################################################
# Function that shows an error message
#
# This function is called by the 'checks' function
#
# Parameters:
#     1: The message to be displayed.

error() {
	echo -n "%%APP_SHORTNAME%%: ERROR: "
	echo $1
}


##############################################################################
# Function that performs all checks necessary for starting or stopping the
# application.
#
# This function is called by the 'start' and 'stop' functions
#
# This function expects no parameters

checks() {
	# Make sure the application directory does exist
	if [ ! -d ${APP_HOME} ]; then
		error "Unable to find %%APP_TITLE%% home directory at ${APP_HOME}."
		exit 2
	fi

	# Make sure the application JAR file exists
	if [ ! -r ${JAR_FILE} ]; then
		error "Unable to find %%APP_TITLE%% JAR file at ${JAR_FILE}."
		exit 3
	fi

	# Make sure the Java VM can be found
	if [ ! -x ${JAVA_CMD} ]; then
		error "Unable to find Java VM at ${JAVA_HOME}."
		exit 4
	fi
}


##############################################################################
# Functions that calls the application with the specified parameter
#
# Parameters:
#    1: The argument to pass to the application (optional)

app() {
	(cd ${APP_HOME} && ${JAVA_CMD} -cp ${CLASSPATH} -Dtomcat.home=${APP_HOME} org.apache.tomcat.startup.Tomcat $1 &) >> ${STDOUT_LOG} 2>> ${STDERR_LOG}
}


##############################################################################
# Function that starts the application
#
# This function is called from the main function
#
# This function expects no parameters

start() {
	# Perform the checks
	checks

	# Stop the application
	app
}


##############################################################################
# Function that stops the application
#
# This function is called from the main function
#
# This function expects no parameters

stop() {
	# Perform the checks
	checks

	# Stop the application
	app -stop
}


##############################################################################
# Main function. This function calls the 'start' and 'stop' functions.
#
# Parameters:
#    1: The argument to this shell script

main() {
	case "$1" in
		start)
			start
			;;
		stop)
			stop
			;;
		restart)
			stop
			start
			;;
		*)
			echo "Usage: ${MYSELF} { start | stop | restart }"
			exit 64
			;;
	esac
}


# Call the main function and exit
main $1
exit 0