Hi,
This patch provides support for multiple instance tomcat configurations (i.e.
where CATALINA_BASE is configured) as
per Tomcat documentation.
Tested with current Tomcat (6.0.28).
I hope this helps.
Best Regards,
Brett
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
--- tomcat 2010-07-14 11:22:57.000000000 +0100
+++ tomcat.intact 2010-07-14 12:44:46.000000000 +0100
@@ -29,10 +29,12 @@
# OCF_RESKEY_tomcat_user - A user name to start a resource. Default is root
# OCF_RESKEY_statusurl - URL for state confirmation. Default is http://127.0.0.1:8080
# OCF_RESKEY_java_home - Home directory of Java. Default is none
+# OCF_RESKEY_java_opts - Options to pass to Java JVM for start and stop. Default is none
# OCF_RESKEY_catalina_home - Home directory of Tomcat. Default is none
+# OCF_RESKEY_catalina_base - Base directory of Tomcat. Default is none
# OCF_RESKEY_catalina_pid - A PID file name of Tomcat. Default is OCF_RESKEY_catalina_home/logs/catalina.pid
# OCF_RESKEY_tomcat_start_opts - Start options of Tomcat. Default is none.
-# OCF_RESKEY_catalina_opts - CATALINA_OPTS environment variable. Default is none.
+# OCF_RESKEY_catalina_opts - Options to pass to Java JVM for start operation, always adds -Dname=${OCF_RESKEY_tomcat_name}. Default is none.
# OCF_RESKEY_catalina_rotate_log - Control catalina.out logrotation flag. Default is NO.
# OCF_RESKEY_catalina_rotatetime - catalina.out logrotation time span(seconds). Default is 86400.
###############################################################################
@@ -147,12 +149,13 @@
>> "$TOMCAT_CONSOLE" 2>&1 &
else
su - -s /bin/sh "$RESOURCE_TOMCAT_USER" \
- -c "export JAVA_HOME=${OCF_RESKEY_java_home};\
- export JAVA_OPTS=-Dname=${TOMCAT_NAME};\
- export CATALINA_HOME=${OCF_RESKEY_catalina_home};\
- export CATALINA_PID=${OCF_RESKEY_catalina_pid};\
- export CATALINA_OPTS=\"${OCF_RESKEY_catalina_opts}\";\
- $CATALINA_HOME/bin/catalina.sh start ${OCF_RESKEY_tomcat_start_opts}" \
+ -c "export JAVA_HOME=${JAVA_HOME};\
+ export JAVA_OPTS=\"${JAVA_OPTS}\";\
+ export CATALINA_HOME=${CATALINA_HOME};\
+ export CATALINA_BASE=${CATALINA_BASE};\
+ export CATALINA_PID=${CATALINA_PID};\
+ export CATALINA_OPTS=\"${CATALINA_OPTS}\";\
+ $CATALINA_HOME/bin/catalina.sh start ${TOMCAT_START_OPTS}" \
>> "$TOMCAT_CONSOLE" 2>&1 &
fi
@@ -182,10 +185,11 @@
eval $tomcat_stop_cmd >> "$TOMCAT_CONSOLE" 2>&1
else
su - -s /bin/sh "$RESOURCE_TOMCAT_USER" \
- -c "export JAVA_HOME=${OCF_RESKEY_java_home};\
- export JAVA_OPTS=-Dname=${TOMCAT_NAME};\
- export CATALINA_HOME=${OCF_RESKEY_catalina_home};\
- export CATALINA_PID=${OCF_RESKEY_catalina_pid};\
+ -c "export JAVA_HOME=${JAVA_HOME};\
+ export JAVA_OPTS=\"${JAVA_OPTS}\";\
+ export CATALINA_HOME=${CATALINA_HOME};\
+ export CATALINA_BASE=${CATALINA_BASE};\
+ export CATALINA_PID=${CATALINA_PID};\
$CATALINA_HOME/bin/catalina.sh stop" \
>> "$TOMCAT_CONSOLE" 2>&1 &
fi
@@ -262,7 +266,7 @@
<parameter name="tomcat_name" unique="1" >
<longdesc lang="en">
-The name of the resource, added as a Java parameter in JAVA_OPTS: -Dname=<tomcat_name> to Tomcat
+The name of the resource, added as a Java parameter in CATALINA_OPTS: -Dname=<tomcat_name> to Tomcat
process on start. Used to ensure process is still running and must be unique amongst all Tomcat
instances in this cluster.
</longdesc>
@@ -318,6 +322,14 @@
<content type="string" default="" />
</parameter>
+<parameter name="java_opts" unique="0">
+<longdesc lang="en">
+Java JVM options used on start and stop
+</longdesc>
+<shortdesc>Java options parsed to JVM, used on start and stop</shortdesc>
+<content type="string" default="" />
+</parameter>
+
<parameter name="catalina_home" unique="1" required="1">
<longdesc lang="en">
Home directory of Tomcat
@@ -326,6 +338,14 @@
<content type="string" default="" />
</parameter>
+<parameter name="catalina_base" unique="1">
+<longdesc lang="en">
+Instance directory of Tomcat
+</longdesc>
+<shortdesc>Instance directory of Tomcat, defaults to catalina_home</shortdesc>
+<content type="string" default="" />
+</parameter>
+
<parameter name="catalina_pid" unique="1">
<longdesc lang="en">
A PID file name for Tomcat
@@ -344,9 +364,9 @@
<parameter name="catalina_opts" unique="0">
<longdesc lang="en">
-Catalina options, applied on start operation only
+Java JVM options used on start only
</longdesc>
-<shortdesc>Catalina options</shortdesc>
+<shortdesc>Java JVM options used on start</shortdesc>
<content type="string" default="" />
</parameter>
@@ -399,17 +419,18 @@
RESOURCE_STATUSURL="${OCF_RESKEY_statusurl-http://127.0.0.1:8080}"
JAVA_HOME="${OCF_RESKEY_java_home}"
-JAVA_OPTS="-Dname=$TOMCAT_NAME"
+JAVA_OPTS="${OCF_RESKEY_java_opts}"
SEARCH_STR="\\""${JAVA_OPTS}"
CATALINA_HOME="${OCF_RESKEY_catalina_home}"
+CATALINA_BASE="${OCF_RESKEY_catalina_base-${OCF_RESKEY_catalina_home}}"
CATALINA_PID="${OCF_RESKEY_catalina_pid-$CATALINA_HOME/logs/catalina.pid}"
TOMCAT_START_OPTS="${OCF_RESKEY_tomcat_start_opts}"
-CATALINA_OPTS="${OCF_RESKEY_catalina_opts}"
+CATALINA_OPTS="-Dname=$TOMCAT_NAME ${OCF_RESKEY_catalina_opts}"
CATALINA_ROTATE_LOG="${OCF_RESKEY_catalina_rotate_log-NO}"
CATALINA_ROTATETIME="${OCF_RESKEY_catalina_rotatetime-86400}"
-export JAVA_HOME JAVA_OPTS CATALINA_HOME CATALINA_PID CATALINA_OPTS
+export JAVA_HOME JAVA_OPTS CATALINA_HOME CATALINA_BASE CATALINA_PID CATALINA_OPTS
JAVA=${JAVA_HOME}/bin/java
_______________________________________________
Linux-HA mailing list
Linux-HA@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems