throw correct InvalidDestinationRuntimeException
override JMSContext for RA to throw exception on illegal method calls
JavaEE injected JMSContext example

send messages to the MDB and wait for replies on a temp queue to ensure
all messages have been received by the MDB
use JMS 2.0 API for the client