2009-02-19 8 views
2

Notre application se connecte à plusieurs agents jmx (environ 50) pour interroger les données jmx dans un intervalle fréquent. Après un certain temps (environ un jour), l'application devient irresponsable. Nous avons examiné décharge de fil et de voir un grand nombre de fils collés sur ClientNotifForwarder ..Fil JMX bloqué sur ClientNotifForwarder

Par exemple:

"ClientNotifForwarder-50" daemon prio=3 tid=0x09aa3800 nid=0x330 runnable [0xd3a90000..0xd3a90c70] 
java.lang.Thread.State: RUNNABLE 
    at java.net.SocketInputStream.socketRead0(Native Method) 
    at java.net.SocketInputStream.read(SocketInputStream.java:129) 
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) 
    at java.io.BufferedInputStream.read(BufferedInputStream.java:237) 
    - locked <0xe2538af0> (a java.io.BufferedInputStream) 
    at java.io.DataInputStream.readByte(DataInputStream.java:248) 
    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:195) 
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142) 
    at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source) 
    at javax.management.remote.rmi.RMIConnectionImpl_Stub.fetchNotifications(Unknown Source) 
    at javax.management.remote.rmi.RMIConnector$RMINotifClient.fetchNotifs(RMIConnector.java:1291) 
    at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.fetchNotifs(ClientNotifForwarder.java:503) 
    at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.run(ClientNotifForwarder.java:395) 
    at com.sun.jmx.remote.internal.ClientNotifForwarder$LinearExecutor$1.run(ClientNotifForwarder.java:83) 

Toute aide à identifier les causes de racine est apprécié ...

Merci, Raja

+0

Nous constatons un problème similaire. Notre trace de pile est un peu différente, mais je pense que la cause première peut être la même. – tuler

+0

Peut être associé à ce bogue qui a été marqué comme "10-Fix Delivered": http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6199899 – Gray

Répondre

Questions connexes