Apache Tomcat JMX關閉錯誤

2013-12-05 00:08

對Tomcat中的catalina.sh中加入以下設定,以開啟JMX 

export JAVA_OPTS="-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.port=8999"
下達shutdown.sh時的錯誤訊息 
 java.rmi.server.ExportException: Port already in use: 8999; nested exception is:
        java.net.BindException: Address already in use

原因 
因為將JMX設定放在catalina.sh(catalina.bat),導致shutdown.sh(shutdown.bat)呼叫catalina.sh(catalina.bat)啟動JVM時會再度嘗試綁定8999這個JMX port。但是這個port已經被Tomcat佔走了。  

解決方法 
將JMX設定搬到startup.sh(startup.bat),避免讓shutdown.sh(shutdown.bat)再次匯入