Ruslan Belinskyy created CAMEL-11666:
----------------------------------------

             Summary: 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


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