Reliable Notification

I have a pretty simple problem I'd like to solve, but the tool I think
I should use is not being cooperative.
I have a client that has to deliver a message to at least one server
within a reasonable time.
Based on that requirement I though I should use MEP InOnly and
Sandesha2 (Reliable Messaging).  The problem is that I need to know
that the message arrived and I can't seem to get that using Sandesha
and the InOnly pattern. All I really want from the service is an ACK
that I can pick up somehow at the client.  Clearly this is part and
parcel of what Sandesha does... I just want to know about it.

A couple of thoughts came up:
1. Manually check via the SequenceReport. (never see anything in the Outgoing Sequence Report) 2. Use a SandeshaListener (callbacks for onError and onTimeout). I tried running client w/ server down. No luck. 3. SandeshaClient.waitUntilSequenceCompleted works but who wants to block? And if it does time out I still want to be notified.

None of these fullfill the basic requirement: within a reasonable
about of time, I want to know, at the client, that the message has
been received at the service.



FYI I am using the Sandesha2 UserguideEchoClient client - the code w/ my additions are here.


       clientOptions.setTo(new EndpointReference (toEPR));
ServiceClient serviceClient = new ServiceClient (configContext,null);
       clientOptions.setAction("urn:wsrm:Ping");
       serviceClient.setOptions(clientOptions);

clientOptions.setProperty(SandeshaClientConstants.SANDESHA_LISTENER, new SandeshaListener_Impl());//new clientOptions.setTimeOutInMilliSeconds(1);//trying to cause it to timeout, but it doesn't.

       serviceClient.fireAndForget(getPingOMBlock("ping1"));
       serviceClient.fireAndForget(getPingOMBlock("ping2"));
clientOptions.setProperty(SandeshaClientConstants.LAST_MESSAGE, "true");
       serviceClient.fireAndForget(getPingOMBlock("ping3"));
SandeshaClient.waitUntilSequenceCompleted(serviceClient,1000*50);//new
       serviceClient.finalizeInvoke();


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to