When no explicit reply Destination is provided on a JmsOutboundGateway, a TemporaryQueue is created. In the current implementation, those destinations are created per-request Message. We should be able instead to reuse the queues for multiple requests (correlating by thread to avoid any collisions of the replies).
Ultimately, we should also add a JIRA issue for Spring core's CachingConnectionFactory since it currently disables caching when a TemporaryQueue or TemporaryTopic is used. That makes sense as a default, but it would be nice if we could set a 'cacheTemporaryDestinations' property to TRUE on the CachingConnectionFactory in order to support caching once this improvement is completed for Spring Integration.