[ 
https://issues.apache.org/jira/browse/CAMEL-11399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16047537#comment-16047537
 ] 

Claus Ibsen commented on CAMEL-11399:
-------------------------------------

Use the zookeeper-master component for this kind

> ZooKeeperRoutePolicy only suspends and not stops JMSConsumer
> ------------------------------------------------------------
>
>                 Key: CAMEL-11399
>                 URL: https://issues.apache.org/jira/browse/CAMEL-11399
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-zookeeper
>    Affects Versions: 2.18.4, 2.19.0
>         Environment: Originally encountered with a JMS-Topic on a Software AG 
> Universal Messaging Broker in Conjunction with Camel 2.18.2.
> Reproduced on Glassfish 4.1.2 (to make sure the behaviour with the kept 
> messages for suspended consumers is covered by the JMS reference 
> implementation - and not depends on the broker implementation).
>            Reporter: Andreas Ländle
>
> Suspended JMS consumers only pausing the delivery of messages from the broker 
> to the consumer. So if the suspended consumer gets active in case of a 
> failover it receives all the messages the failed route has already processed 
> - at least if it is connected via a non durable, non shared subscription to a 
> JMS topic. 
> One might argue that this isn't a valid scenario - since you should involve 
> queues (overhead of copying messages if a topic is what you really need) or 
> shared durable subscriptions (only JMS >= 2.0; can lead to a (unwanted) 
> backlog) if you use the ZooKeeper component for providing some kind of HA. 
> One the other hand, if I need a lightweight solution and didn't care about 
> the loss of some messages while the failover happens - and I absolutely need 
> to avoid the additional load on the server for maintaining an additional 
> queue because I rely on high throughput, I think I hit a scenario that isn't 
> far-fetched.
> Also I don't think it's good to have a unused active connection per 
> slave-node to the JMS broker with respect to the usage of resources on the 
> broker.
> So my suggestion would be to solve this by really stopping the Consumer 
> services. However I look at this issue by just inspecting the JMS behaviour - 
> so maybe other consumer services exist that depend on the 'suspend'-behaviour 
> (if the service isn't suspendable stop is called as a fallback anyway). So 
> before talking about potential code changes I think we need to clarify if the 
> described scenario is valid for camel-zookeeper and if stopping consumers is 
> really the right solution for the issue.
> Thanks in advance; and please let me know if something is unclear or if there 
> are areas where I can provide/collect further information.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to