Hi Dennis, right. It would be useful to make some information conveniently available to the calling client.
But we might want to provide a callback not just for getting the ack status but for getting various other WS-RM information such as the sequence ID, message number and even some control over the messages and sequences it created? Or I am not sure if we should give the sequence info back in the callback and let the client use jmx to get more info and exercise control over the sequence? regards, aki 2014-02-14 8:15 GMT+01:00 Dennis Sosnoski <[email protected]>: > It's important for clients using WS-RM to know when all the messages they've > sent have been acknowledged, because it's not safe for them to terminate > until this has been done. Right now we're able to use JMX to monitor > WS-ReliableMessaging operation and see when messages are acknowledged. But > this seems overly complex to me, and I'm thinking of adding a simpler > callback mechanism to make it easier. > > The basic interface would be something like: > > interface AcknowledgementCallback { > void messageAcknowledged(); > } > > I could also supply an AcknowledgementCountingCallback implementation which > would just count how many times it's been called, and define a waitFor(n, > timeout) method on this which would wait until that many messages had been > acknowledged (or until timed out). That way an instance could be set as a > client property, and the user could just count how many messages they'd sent > and when they're done call the waitFor() method to make sure they'd all been > received before the application terminates. > > Any objections or better ideas? > > Thanks, > > - Dennis > > Dennis M. Sosnoski > Java Web Services Consulting <http://www.sosnoski.com/consult.html> > CXF and Web Services Security Training > <http://www.sosnoski.com/training.html> > Web Services Jump-Start <http://www.sosnoski.com/jumpstart.html> >
