[jboss-cvs] JBossRemoting/src/main/org/jboss/remoting ...
Ron Sigal
ron_sigal at yahoo.com
Wed Dec 6 21:58:12 EST 2006
User: rsigal
Date: 06/12/06 21:58:12
Modified: src/main/org/jboss/remoting AbstractInvoker.java
Log:
JBREM-622: Stores InvokerCallbackHandlers keyed on sessionId + listenerId.
Revision Changes Path
1.15 +9 -4 JBossRemoting/src/main/org/jboss/remoting/AbstractInvoker.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: AbstractInvoker.java
===================================================================
RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/AbstractInvoker.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- AbstractInvoker.java 16 Nov 2006 18:06:13 -0000 1.14
+++ AbstractInvoker.java 7 Dec 2006 02:58:11 -0000 1.15
@@ -47,7 +47,7 @@
*
* @author <a href="mailto:jhaynie at vocalocity.net">Jeff Haynie</a>
* @author <a href="mailto:telrod at e2technologies.net">Tom Elrod</a>
- * @version $Revision: 1.14 $
+ * @version $Revision: 1.15 $
*/
public abstract class AbstractInvoker implements Invoker
{
@@ -113,10 +113,10 @@
/**
* Generates a listener id for the callbackhandler and callback server locator combination
- *
+ * @param sessionId
* @param locator
*/
- public String addClientLocator(InvokerCallbackHandler callbackhandler, InvokerLocator locator)
+ public String addClientLocator(String sessionId, InvokerCallbackHandler callbackhandler, InvokerLocator locator)
{
String listenerId = null;
synchronized(localServerLocators)
@@ -136,6 +136,8 @@
// if got this far, the entry does not exist, so need to add it and create a listener id
CallbackHandlerHolder holder = new CallbackHandlerHolder(callbackhandler, locator);
listenerId = new GUID().toString();
+ if (sessionId != null)
+ listenerId = sessionId + "+" + listenerId;
localServerLocators.put(listenerId, holder);
}
@@ -162,7 +164,7 @@
return locator;
}
- public List getClientLocators(InvokerCallbackHandler handler)
+ public List getClientLocators(String sessionId, InvokerCallbackHandler handler)
{
List holderList = new ArrayList();
if (handler != null)
@@ -175,6 +177,9 @@
{
Map.Entry entry = (Map.Entry) itr.next();
String listenerId = (String) entry.getKey();
+ String prefix = listenerId.substring(0, listenerId.indexOf('+'));
+ if (!sessionId.equals(prefix))
+ continue;
CallbackHandlerHolder holder = (CallbackHandlerHolder) entry.getValue();
InvokerCallbackHandler holderHandler = holder.getHandler();
if (holderHandler.equals(handler))
More information about the jboss-cvs-commits
mailing list