关于【Caused by: java.net.BindException: Address already in use: JVM_Bind】,你了解多少?
(1)、首先检查预期的监听端口号是否被占用?
(2)、还需要检查任意端口是否被占用?
因为,通过createServerSocket创建一个tcp监听时,除了指定目标端口号外,还需要listen一个任意端口号,
但这个任意端口,你是无法知道的,不像你的目标端口号。此时就需要修改目标端口号,尽管不是因为
目标端口号被占用,这个动作可以导致任意端口号的监听被改变,从而避免此问题的出现。
比较如下:
【解释如下】
JMX代理是导致随机端口号发生的根本原因,
当JVM中设置参数为【-Dcom.sun.management.jmxremote】时,会在一个随机端口上开启监听,供本地访问jmx使用,==>本地管理和监控
当JVM中设置参数为【-Dcom.sun.management.jmxremote.port=portNum】时,会开启两个监听端口号,一个为随机的,另一个为指定的<porNum>,指定的端口是为了进行远程jmx访问的。==>远程管理和监控
配置样例如下:
【-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.hostname=10.40.120.165】
如果不想看到这些随机端口号,你可以将jmx代理关掉,即不在JVM参数中添加【-Dcom.sun.management.jmxremote】相关属性。
但是即使不加该属性为true,通过jconsole还是可以本地访问jmx的,即任意端口号不完全针对本机jmx监控而开启监听的,仅和远程代理相比较而言。不能理解成,没有任意端口监听开启,本地jmx监控就访问不到。
【相关参考】
http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html
分享到:
相关推荐
nested exception is: java.net.BindException: Address already in use: JVM_Bind 这里说的是1099端口被其它进程占用了. 二.解决办法 找出占用1099端口的进程,进入windows命令,查看什么进程占用了1099端口...
"java.net.SocketException Connection reset 解决方法" 在 Java 编程中,SocketException 是一种常见的异常,特别是在网络编程中。Conexion reset by peer 是一种特殊的 SocketException,它发生在客户端和服务器...
在Java应用程序运行过程中,"java.lang.OutOfMemoryError: PermGen space"错误是常见的一个问题,尤其是在使用Tomcat这样的Java应用服务器时。这个错误表明应用程序在 PermGen 区域(Permanent Generation)耗尽了...
Java中的`java.net.SocketException: Connection reset`是一个常见的网络编程错误,通常表示在TCP/IP通信过程中,连接突然中断。这个异常可能在客户端或服务器端发生,通常与数据传输的异常中断有关。 首先,我们来...
08-13 18:29:22.924: E/AndroidRuntime(1875): Caused by: Java.lang.ClassNotFoundException:XXXXX in loader dalvik.system.PathClassLoader[/data/app/XXXX.apk] 我想大家经常因为疏忽出现...
"卸载工具007"是一款专为用户设计的高效、便捷的软件卸载应用程序,旨在帮助用户彻底、干净地从计算机中移除不需要的软件。"完美"这个描述可能是指该工具在卸载过程中能确保不留任何残留,提供一种无瑕疵的卸载体验...
主要介绍了java.net.ConnectException: Connection refused问题解决办法的相关资料,需要的朋友可以参考下
然而,当你遇到“javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair”的错误时,这意味着在建立SSL/TLS连接时,Diffie-Hellman(DH)密钥交换算法遇到了问题。DH是一种非对称...
在应用程序中调用不同服务时,经常会遇到No route to host程序异常的问题。下文分享该问题的排查过程与解决方法。
### 错误解析:Caused by: android.system.ErrnoException: write failed: ENOSPC (No space left 在Android开发过程中,可能会遇到“Caused by: android.system.ErrnoException: write failed: ENOSPC (No space ...
at java.net.URLClassLoader.findClass(URLClassLoader.java:434) at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:204) at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:688...
connection reset解决方案(亲测可用).md
在这个特定的场景中,异常堆栈跟踪显示了 `Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.Transformer`,这表明系统无法找到 `org.apache.commons.collections.Transformer` 类。...
标题中的“Caused by: java.sql.SQLException: JZ0SJ: 没有在此数据库中发现元数据存取器信息。 请按 jConnect 文档中所述安装”是一个典型的错误信息,表明在尝试使用Java数据库连接(JDBC)驱动程序访问数据库时...
在这个特定的场景中,异常堆栈跟踪显示 `Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type`,这表明在运行时,系统无法找到`org.objectweb.asm.Type`这个类。`org.objectweb.asm` 是一个用于...
异常:Caused by: java.lang.IllegalStateException: Method has too many Body parameters Caused by: java.lang.IllegalStateException: Method has too many Body parameters: public abstract ...
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure的一个解决方案-附件资源