blob: 9992f023380b5b36e571c05f68d40199bb03c65c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
#!/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
# 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
if [ -f ${JAVA_HOME}/lib/tools.jar ] ; then
CLASSPATH=${CLASSPATH}:${JAVA_HOME}/lib/tools.jar
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
|