When the JmsClientInterceptor is expecting multiple responses to a sent message, the timeout is only applied to the response handlers in the timeout map of the requestor. Meaning, that after the given timeout the handler gets removed from the requestor.
The timeout doesn't however affect the actual handler (ResultJoinHandler), and it's waitForResult gets in a loop desperately trying to acquire a result that will never appear if the timeout has exceeded and the handler willl never get any responses.
Basically this causes the system to get stuck in two cases: 1) there is no-one to answer the message 2) the timeout exceeds.
LINGO-37http://jira.codehaus.org/browse/LINGO-37