Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JMX线程卡在ClientNotifForwarder上_Java_Multithreading_Jmx - Fatal编程技术网

Java JMX线程卡在ClientNotifForwarder上

Java JMX线程卡在ClientNotifForwarder上,java,multithreading,jmx,Java,Multithreading,Jmx,我们的应用程序连接到几个jmx代理(大约50个),以频繁地轮询jmx数据。一段时间后(大约一天),应用程序变得不负责任。我们查看了线程转储,发现大量线程卡在ClientNotifForwarder上 例如: “ClientNotifForwarder-50”守护程序prio=3 tid=0x09aa3800 nid=0x330可运行[0xd3a90000..0xd3a90c70] java.lang.Thread.State:可运行 位于java.net.SocketInputStream.so

我们的应用程序连接到几个jmx代理(大约50个),以频繁地轮询jmx数据。一段时间后(大约一天),应用程序变得不负责任。我们查看了线程转储,发现大量线程卡在ClientNotifForwarder上

例如:

“ClientNotifForwarder-50”守护程序prio=3 tid=0x09aa3800 nid=0x330可运行[0xd3a90000..0xd3a90c70]
java.lang.Thread.State:可运行
位于java.net.SocketInputStream.socketRead0(本机方法)
位于java.net.SocketInputStream.read(SocketInputStream.java:129)
在java.io.BufferedInputStream.fill处(BufferedInputStream.java:218)
在java.io.BufferedInputStream.read处(BufferedInputStream.java:237)
-锁定(java.io.BufferedInputStream)
位于java.io.DataInputStream.readByte(DataInputStream.java:248)
位于sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:195)
位于sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
位于com.sun.jmx.remote.internal.PRef.invoke(未知源)
位于javax.management.remote.rmi.RMIConnectionImpl_Stub.fetchNotifications(未知源)
位于javax.management.remote.rmi.RMIConnector$RMINotifClient.fetchNotifs(RMIConnector.java:1291)
在com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.fetchNotifs(ClientNotifForwarder.java:503)
在com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.run(ClientNotifForwarder.java:395)
在com.sun.jmx.remote.internal.ClientNotifForwarder$LinearExecutor$1.run(ClientNotifForwarder.java:83)
感谢您在确定根本原因方面的任何帮助

谢谢,
Raja

尝试从命令行设置连接和读取超时属性

sun.net.client.defaultConnectTimeout
sun.net.client.defaultReadTimeout


假设你有足够的再审机制。

我们也看到了类似的问题。我们的堆栈跟踪有点不同,但我认为根本原因可能是相同的。可能与标记为“10修复已交付”的此错误有关:
sun.net.client.defaultConnectTimeout
sun.net.client.defaultReadTimeout