Moderated: FAQ - it's the post at the top of this forum for the visually challenged amongst us. It's also the very first FAQ.
Could you please poste the URL where a resolution to the problem reported by David is detailed? I am having same problem - Do not want to send any message until all the messages have been queued, but cannot control that because if I createSession using "true" flag, none of the messages are delivered, whereas if "false" is used, messages are delivered and some are processed before the queueing is complete.
The answer that Adrian was referring to use the JCA adapter, which provides automatic transaction enlistment. Given that your SLSB method is transactional, all of the messaged queued in that method will be in the same transaction.
Here's the link...