Tomcat não para com opções SNMP

Tomcat não para com opções SNMP

Temos um aplicativo de monitoramento usando SNMP, habilitei o SNMP em meu servidor Tomcat com a seguinte opção no bin/setenv.sharquivo.

#
# 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"

Na inicialização do Tomcat, não há problema, tudo está limpo. mas quando paro o Tomcat, recebo esse erro.

[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)

De qualquer forma, posso parar o Tomcat de forma limpa em vez de matá-lo?

Responder1

Você deveria usar CATALINA_OPTSem vez de JAVA_OPTS. O catalina.shscript documenta muito bem a diferença:

#   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.

O fato de JAVA_OPTSestar definido como %JAVA_OPTS%também indica que você tem algo errado (provavelmente um script que foi escrito por um administrador do win32).

informação relacionada