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

Andrea Cosentino commented on CAMEL-11666:
------------------------------------------

I'm not sure I'm completely following the problem. The Hazelcast Queue Consumer 
is designed to consume events on a specific queue. So for example if you add an 
entry, the consumer will create an ADD event message to consume and if you 
remove an entry you'll have a REMOVE event message to consume.

If you want to perform operation on your queue you need to use the Hazelcast 
Queue Producer. Using it you'll be able to do what you want:
https://github.com/apache/camel/blob/master/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/queue/HazelcastQueueProducer.java

> Camel Hazelcast Queue Cosumer implementation
> --------------------------------------------
>
>                 Key: CAMEL-11666
>                 URL: https://issues.apache.org/jira/browse/CAMEL-11666
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-hazelcast
>            Reporter: Ruslan Belinskyy
>              Labels: documentation, features
>
> Guys, 
> i have following concern / question about Hazelcast Queue Consumer:
> # I do understand why Topic is build based on CamelItemListener as 
> ItemListener in HazelcastTopicConsumer. But the same behavior in 
> HazelcastQueueConsumer doesn't look meaningful:
> ## Unlike Topic, Queue has state and someone subscribed to Queue and didn't 
> process it (any reason here) no one will take it from queue (Event Already 
> happened and will not happen again). Message will be stuck there. Until you 
> explicitly poll it, which Camel-Hazelcast doesn't support (as consumer). I 
> had to do Polling via Camel-Timer as workaround.
> ## Another problem is that ItemListener doesn't actually drain the Queue. It 
> just listens to events. As for me it doesn't make any sense to receive 
> message from Queue and don't have it removed from Queue. In current 
> implementation you'll have to inject queue in Processor to actually Poll the 
> message after ADD Event. 
> If you won't change the code just please warn user here 
> (http://camel.apache.org/hazelcast-component.html#HazelcastComponent-queue) 
> that Queue consumer doesn't drain the queue. And Processor should actually 
> drain it.
> If node has failed to process message it should be explicitly polled to drain 
> the queue via for example Timer.



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

Reply via email to