I tracked down the problem and with this change i got it working stable:
Index: java/org/jivesoftware/openfire/gateway/protocols/msn/MSNListener.java
===================================================================
— java/org/jivesoftware/openfire/gateway/protocols/msn/MSNListener.java (revision 10321)
+++ java/org/jivesoftware/openfire/gateway/protocols/msn/MSNListener.java (working copy)
@@ -50,7 +50,7 @@
@param session Session this listener is associated with.
*/
public MSNListener(MSNSession session) {
this.msnSessionRef = new WeakReference<MSNSession>(session);
+ this.msnSession = session;
sessionReaper = new SessionReaper();
timer.schedule(sessionReaper, reaperInterval, reaperInterval);
}
@@ -58,7 +58,7 @@
/**
The session this listener is associated with.
*/
public WeakReference<MSNSession> msnSessionRef = null;
+ public MSNSession msnSession = null;
/**
Timer to check for stale typing notifications.
@@ -86,7 +86,7 @@
@return MSN session we are attached to.
*/
public MSNSession getSession() {
return msnSessionRef.get();
+ return msnSession;
}
/**
Openfire 3.5.1 running on centos, ~ 10000 concurrent users, ~ 400 msn users