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>

Reply via email to