 <p>
 When the message has been successfully sent the Jakarta Messaging provider invokes the callback method <tt>onCompletion</tt> on an
 application-specified <tt>CompletionListener</tt> object. Only when that callback has been invoked can the
 application be sure that the message has been successfully sent with the same degree of confidence as if a normal
 synchronous send had been performed. An application which requires this degree of confidence must therefore wait for
 the callback to be invoked before