java.net.绑定(bind)异常 : Address already in use: JVM_Bind

标签 java tomcat jvm tomcat7

我的服务器中运行了 2 个 Tomcat:一个 Tomcat 7,另一个是 Tomcat 8。

第一个的配置文件server.xml是:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
             ...
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

在我的第二个 Tomcat 中:

<Connector port="8080" protocol="HTTP/1.1"
            connectionTimeout="20000"
            redirectPort="8443" />
            ...
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

当我运行第一个 Tomcat 时,控制台显示以下内容:

java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(Unknown Source)
at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:420)
at org.apache.catalina.startup.Catalina.await(Catalina.java:713)
at org.apache.catalina.startup.Catalina.start(Catalina.java:659)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

但第二个运行良好。我正在使用命令 netstate -t​​nao 并看到端口是空闲的。

最佳答案

您需要为tomcat 实例设置不同的端口,包括但不限于connector 端口、ajp 端口、shutdown 端口。一旦你有了这个错误就会消失。

但是,使用 CATALINA_BASE 变量使用相同的 tomcat 二进制文件来运行多个 tomcat 实例是一种很好的做法。更多详细信息在下面的链接中。请参阅有关运行多个实例的部分。另请注意,相同的 RUNNING.txt 文件也将在 tomcat 二进制文件中,您也可以在那里查看它。
http://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt

关于java.net.绑定(bind)异常 : Address already in use: JVM_Bind,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27260314/

相关文章:

java - 如何将外部文本文件放入 Eclipse View 中

java - JDK 的本地方法是如何加载的?

java - 为什么我得到 DefaultHttpClient is deprecated?

java - 快速静态持久哈希表

java - Xmx内存分配给容器时出错

python - Incanter-numpy 互操作

tomcat - 加快 Weblogic Server 启动时间

java - Tomcat突然死了

eclipse - 在 pom.xml 中为 Tomcat 7 设置 Servlet/JSP jar

java - 是否可以在没有外部程序的情况下用 Java 编译成机器码?