[
https://issues.apache.org/jira/browse/CAMEL-5865?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Raul Kripalani updated CAMEL-5865:
----------------------------------
Description:
This feature requires a bit more work to get right. Currently it's a bit buggy.
Here are the reasons:
- every time the DLMC initialises a new consumer task
(AsyncMessageListenerInvoker), it invokes the Destination Resolver. The current
code ends up creating a new temp queue and overwriting the reply queue in the
Reply Manager every time.
- temp queues can only be consumed from by the same JMS connection that created
the queue. If you use a connection pool and maxConsumers > 1, there's no way to
guarantee that the same JMS connection is used to create the subsequent
consumers, as concurrency expands. We should explicitly set
cacheLevel=CACHE_CONNECTION in the DLMC.
was:
This feature requires a bit more work to get right. Currently it's a bit buggy.
Here are the reasons:
- every time the DLMC initialises a new consumer task
(AsyncMessageListenerInvoker), it invokes the Destination Resolver. The current
code ends up creating a new temp queue and overwriting the reply queue in the
Reply Manager
- temp queues can only be consumed from by the same JMS connection that created
the queue. If you use a connection pool, there's no way to guarantee that the
JMS connection is shared. We should explicitly set CACHE_CONNECTION in the DLMC.
> camel-jms: concurrent consumers on Temp Reply Queue requires more work
> ----------------------------------------------------------------------
>
> Key: CAMEL-5865
> URL: https://issues.apache.org/jira/browse/CAMEL-5865
> Project: Camel
> Issue Type: Bug
> Components: camel-jms
> Affects Versions: 2.10.3
> Reporter: Raul Kripalani
> Assignee: Raul Kripalani
> Fix For: 2.10.4
>
>
> This feature requires a bit more work to get right. Currently it's a bit
> buggy. Here are the reasons:
> - every time the DLMC initialises a new consumer task
> (AsyncMessageListenerInvoker), it invokes the Destination Resolver. The
> current code ends up creating a new temp queue and overwriting the reply
> queue in the Reply Manager every time.
> - temp queues can only be consumed from by the same JMS connection that
> created the queue. If you use a connection pool and maxConsumers > 1, there's
> no way to guarantee that the same JMS connection is used to create the
> subsequent consumers, as concurrency expands. We should explicitly set
> cacheLevel=CACHE_CONNECTION in the DLMC.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira