I have Tomcat installed as service.
It's CATALINA_HOME
and CATALINA_BASE
are same:
-Dcatalina.base=/usr/share/tomcat7 -Dcatalina.home=/usr/share/tomcat7
I added setenv.sh
script to /usr/share/tomcat7/bin
with next lines:
$ cat /usr/share/tomcat7/bin/setenv.sh
#!/usr/bin/env bash
export JAVA_OPTS="-Dcom.sun.management.jmxremote=true \
-Dcom.sun.management.jmxremote.port=9090 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Djava.rmi.server.hostname=54.***.***.65"
But still haven't changes in Tomcat's behavior – no new port opened, no new options is ps aux | grep java
:
# netstat -anp | grep 9090 | wc -l
0
# ps aux | grep java
tomcat 32063 96.6 23.5 1904000 399872 ? Sl 09:04 3:07 /usr/lib/jvm/jre/bin/java -Xms512M -Xmx1024M -javaagent:/usr/share/tomcat7/newrelic/newrelic.jar -classpath :/usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat7 -Dcatalina.home=/usr/share/tomcat7 -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat7/temp -Djava.util.logging.config.file=/usr/share/tomcat7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start
File owned by tomcat
user and have exec
bit:
# ls -l /usr/share/tomcat7/bin/setenv.sh
-rwxr-xr-x 1 tomcat tomcat 329 Jun 15 08:52 /usr/share/tomcat7/bin/setenv.sh
Best Answer
The environment variable you should set is called 'CATALINA_OPTS'. Here is an example in the tomcat documentation, which is also related to monitoring: Apache Tomcat 7 - Monitoring and Managing Tomcat