
У нас есть приложение для мониторинга, использующее SNMP. Я включил SNMP на своем сервере Tomcat с помощью следующей опции в bin/setenv.sh
файле.
#
# SNMP for Tomcat
#
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.snmp.interface=10.101.21.31"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.snmp.port=1651"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.snmp.acl=false"
При запуске tomcat проблем нет, все чисто. Но когда я останавливаю tomcat, то получаю эту ошибку.
[tomcat@webserver1 bin]$ ./catalina.sh stop
JAVA_OPTS: %JAVA_OPTS%
Using CATALINA_BASE: /opt/tomcat7.1
Using CATALINA_HOME: /opt/tomcat7.1
Using CATALINA_TMPDIR: /opt/tomcat7.1/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/tomcat7.1/bin/bootstrap.jar:/opt/tomcat7.1/bin/tomcat-juli.jar
Error: Failed to start SNMP adaptor with address: /10.101.21.31:1651 (Address already in use)
В любом случае, я могу просто остановить кота, а не убивать его?
решение1
Вам следует использовать CATALINA_OPTS
вместо JAVA_OPTS
. catalina.sh
Скрипт достаточно хорошо документирует разницу:
# CATALINA_OPTS (Optional) Java runtime options used when the "start",
# "run" or "debug" command is executed.
# Include here and not in JAVA_OPTS all options, that should
# only be used by Tomcat itself, not by the stop process,
# the version command etc.
# Examples are heap size, GC logging, JMX ports etc.
Тот факт, что JAVA_OPTS
установлено значение , %JAVA_OPTS%
также указывает на то, что у вас что-то не так (вероятно, скрипт, написанный администратором win32).