I'm one who used JMS 'cause that way is simple
to have response timeout - valuable feature in
network communications. Beside, container is able to manage
clients' threads while waiting for response, which makes
that solution scalable.
I do not like the idea for using JMS for this:
1. "Simple to have response time." Remember one of the SLA with TransMaster of no more than 3 sec during peak time.
2. Scalability is perfectly achieved by SLSB.
3. Thread-safe too.
MDB's, when dealing with asynchronous, clearly refer to requests that might take some long time to response. Do you really think that 3 sec, is a required?
Of course, you can still use JMS components. As long as you justify the reason, specially over other
J2EE components.