Actually it sounds to me like a classic anti-pattern -- what we call "pseudo-synchronous" JMS. Basically, you build a function-call layer on top of JMS -- a horrible idea. First of all, you can't enlist a call like this in an EJB transaction (because the send would never occur because it would wait forever on the receive before committing the transaction). ...