private void commitChanges( Set committableDestinations ) throws JMSException
{
if (committableDestinations.size() > 0)
{
SynchronizationBarrier commitBarrier = new SynchronizationBarrier();
Iterator commitables = committableDestinations.iterator();
while (commitables.hasNext())
{
Committable commitable = (Committable)commitables.next();
commitable.commitChanges(commitBarrier);
}
try
{
commitBarrier.waitFor();
}
catch (InterruptedException e)
{
throw new JMSException("Commit barrier was interrupted");
}