-
1. Can I get CallbackHandleObject on server side
ron_sigal Apr 21, 2011 2:48 PM (in response to dima_ts)Hi Dimitri,
The callbackHandleObject is used only on the client side. Here's something you can try. Instead of calling the Client method
public void addListener(InvokerCallbackHandler callbackHandler,
InvokerLocator clientLocator, Object callbackHandlerObject);
use
public void addListener(InvokerCallbackHandler callbackhandler, Map metadata,
Object callbackHandlerObject) throws Throwable;
and put some identifying information in the metadata map:
HashMap metadata = new HashMap();
metadata.put("key", "tag");
client.addListener(..., metadata, ...);
Then on the server side, in your ServerInvocationHandler method
public void addListener(InvokerCallbackHandler callbackHandler);
do something like
ServerInvokerCallbackHandler serverInvokerCallbackHandler = (ServerInvokerCallbackHandler) callbackHandler;
Client callbackClient = serverInvokerCallbackHandler.getCallbackClient();
Map config = callbackClient.getConfiguration();
String tag = config.get("key");
I haven't tested it, but it looks plausible. By the way, thanks for the reference to that article. I never heard of it before.
Good luck,
Ron
-
2. Can I get CallbackHandleObject on server side
dima_ts Apr 22, 2011 12:34 AM (in response to ron_sigal)Hi Ron,
Thanks for answer!
I try it, but it seem didn't work:
after call
Client callbackClient = serverInvokerCallbackHandler.getCallbackClient();
callbackClient is null.
I solve my problem by creation one callback channel for each filter.
Good luck,
Dima