[jboss-cvs] JBossRemoting/src/main/org/jboss/remoting ...
Ron Sigal
ron_sigal at yahoo.com
Wed Dec 6 22:20:16 EST 2006
User: rsigal
Date: 06/12/06 22:20:16
Modified: src/main/org/jboss/remoting Tag: remoting_2_x
AbstractInvoker.java
Log:
JBREM-622: Stores InvokerCallbackHandlers keyed on sessionId + listenerId.
Revision Changes Path
No revision
No revision
1.12.4.4 +11 -6 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.12.4.3
retrieving revision 1.12.4.4
diff -u -b -r1.12.4.3 -r1.12.4.4
--- AbstractInvoker.java 16 Nov 2006 17:57:02 -0000 1.12.4.3
+++ AbstractInvoker.java 7 Dec 2006 03:20:16 -0000 1.12.4.4
@@ -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.12.4.3 $
+ * @version $Revision: 1.12.4.4 $
*/
public abstract class AbstractInvoker implements Invoker
{
@@ -116,7 +116,7 @@
*
* @param locator
*/
- public String addClientLocator(InvokerCallbackHandler callbackhandler, InvokerLocator locator)
+ public String addClientLocator(String sessionId, InvokerCallbackHandler callbackhandler, InvokerLocator locator)
{
String listenerId = null;
synchronized(localServerLocators)
@@ -140,6 +140,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);
}
@@ -166,7 +168,7 @@
return locator;
}
- public List getClientLocators(InvokerCallbackHandler handler)
+ public List getClientLocators(String sessionId, InvokerCallbackHandler handler)
{
List holderList = new ArrayList();
if(handler != null)
@@ -177,9 +179,12 @@
Iterator itr = entries.iterator();
while(itr.hasNext())
{
- Map.Entry entry = (Map.Entry)itr.next();
- String listenerId = (String)entry.getKey();
- CallbackHandlerHolder holder = (CallbackHandlerHolder)entry.getValue();
+ 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