When Client.addListener() is called, bisocket stores some information in a static map,
keyed on the listener ID, and when Client.removeListener() is called, that information is
purged. The "unrecognized listener ID" message comes up when the purge method
doesn't find the listener ID among the keys. So it represents an event I didn't
expect.
However, I see one way the situation could arise. The client side runs a thread that
monitors the health of the control connection, and if the control connection fails, the
monitor thread will recreate the control connection. However, it could be that the failed
control connection was to a server that died and was restarted (with new connections), in
which case there's no point in restarting the old control connection. So the monitor
thread keeps a count of the number of times the control connection has been restarted, and
when the count maxes out, the thread gives up and purges the static map. If
Client.addListener() is called after that, the message will come up.
So I'm thinking
1. I'd like to leave the warning message in, but
2. I could leave a dummy entry in the map (instead of a Thread), just so it's clear
that all is well.
But, I'd like to know if this scenario corresponds to what you're seeing, or if
there's something else going on that I need to fix.
-Ron
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4040752#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...