Hi Santiago,
I think I see what is happening. As I commented in JBREM-991,
anonymous wrote :
| It seems that the problem is a combination of
|
| 1) the fact that listen() calls heartbeat() upon receiving something other than a
Detection, and
|
| 2) the fact that when heartbeat() creates a null Detection (due to the fact that
there are no servers running in the JVM), it sends an empty packet.
|
| So heartbeat() sends a null Detection, listen() receives it and calls heartbeat(),
which sends out a Detection, etc. The problem is that, even though the timing of
heartbeat() running in the Heartbeat TimerTask is regulated, listen() is not - it responds
immediately upon reading something from the multicast socket, and the response can include
a call to heartbeat.
|
| MulticastDetector.heartbeat() has been changed so that if it creates a null Detection,
it just returns instead of sending it.
|
If you want to test my fix, it's just the insertion of two lines in
org.jboss.remoting.detection.multicast.MulticastDetector.heartbeat()
| if(socket != null)
| {
| Detection msg = createDetection();
| if (msg == null) // <== inserted
| return; // <== inserted
| ...
|
-Ron
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4168612#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...