ds must not use the session if an
 application thread might be using the session at the same time.

 <p>
 <b>Use of the <tt>CompletionListener</tt> by the Jakarta Messaging provider</b>: A session will only invoke one
 <tt>CompletionListener</tt> callback method at a time. For a given <tt>MessageProducer</tt>, callbacks (both
 <code>onCompletion</code> and <code>onException</code>) will be performed in the same order as the corresponding calls to the
 asynchronous send method. A Jakarta Messaging provider m