Sure.

Why I need to remove value from /Event region?

There are various events coming from upstream denoting what changes to be made 
for cache wrapped as generic event in /Event region. Dedicated listener using 
interest query (Select * from /Event where (someConditionForMe is true)) are 
already watching /Event region as continuous query listeners. Once they process 
the event, it should be removed from /Event region as clean up. I would say 
/Event just works as kind of queue/topic for a use case here.

Even if I comment my code not to remove event entry from region, I still see 
listener logs with 2 CREATE events. This is really strange! I can send small 
demo separately. I am putting event into region using GemfireTemplate though!

public void handleEvent(CqEvent cqEvent){
              if(cqEvent.getBaseOperation().isCreate()) {
                     logger.info("Event received with BaseOperation: {}, 
EventKey: {}", cqEvent.getBaseOperation(), cqEvent.getKey());
                     EVent event = (Event)cqEvent.getNewValue();
                     logger.info("Event : {}",print(event));
              }

[cqListenerContainer-1] INFO  c.j.r.d.c.XXXEventListener Event received with 
BaseOperation: CREATE, EventKey: 0980abd4-5293-4b9b-98e7-2b8ace18c5e8
[cqListenerContainer-1] INFO  c.j.r.d.c. XXXEventListener Event : 
<Event><Uuid>0980abd4-5293-4b9b-98e7-2b8ace18c5e8</Uuid></Event>
[cqListenerContainer-1] INFO  c.j.r.d.c. XXXEventListener Event received with 
BaseOperation: CREATE, EventKey: 0980abd4-5293-4b9b-98e7-2b8ace18c5e8
[cqListenerContainer-1] INFO  c.j.r.d.c. XXXEventListener Event : 
<Event><Uuid>0980abd4-5293-4b9b-98e7-2b8ace18c5e8</Uuid></Event>

Thanks & Regards,
Dharam

From: Jason Huynh [mailto:[email protected]]
Sent: Tuesday, December 13, 2016 1:50 AM
To: [email protected]
Cc: [email protected]
Subject: Re: Issue with message delivery in CQListener

Hi Dharam,

Would you be able to provide more information?  From the provided code, I am 
unable to determine why/how a duplicate create event is being sent.  It doesn't 
look like that should be happening.  Is there a reason why you are removing the 
value in the cqListener?  I would assume that ends up invoking another cq event 
back to the listener but as a destroy?

-Jason

On Mon, Dec 12, 2016 at 4:18 AM, Thacker, Dharam 
<[email protected]<mailto:[email protected]>> wrote:
Hi Team,

I am facing strange issue with Cq listener.
As sown below, same event is sent to cq listener client 2 times. Could someone 
help me to spot if anything wrong here?

Steps I follow,

Rest Service:

// create event from client via web service
eventTemplate.put(event.getUuid(),event);

Cqlistener:

public void handleEvent(CqEvent cqEvent){
              if(cqEvent.getBaseOperation().isCreate()) {
                     logger.info("Event received with BaseOperation: {}, 
EventKey: {}", cqEvent.getBaseOperation(), cqEvent.getKey());

                     EVent event = (Event)cqEvent.getNewValue();
                     logger.info("Event : {}",print(event));
                     gemfireTemplate.remove(event.getUuid());
              }
}


<gfe:cq-listener-container id="cqListenerContainer" cache="client-cache">
              <gfe:listener ref="XXXEventListener" query="SELECT * FROM 
/Event"/>
</gfe:cq-listener-container>

[cqListenerContainer-1] INFO  c.j.r.d.c.XXXEventListener Event received with 
BaseOperation: CREATE, EventKey: 0980abd4-5293-4b9b-98e7-2b8ace18c5e8
[cqListenerContainer-1] INFO  c.j.r.d.c. XXXEventListener Event : 
<Event><Uuid>0980abd4-5293-4b9b-98e7-2b8ace18c5e8</Uuid></Event>
[cqListenerContainer-1] INFO  c.j.r.d.c. XXXEventListener Event received with 
BaseOperation: CREATE, EventKey: 0980abd4-5293-4b9b-98e7-2b8ace18c5e8
[cqListenerContainer-1] INFO  c.j.r.d.c. XXXEventListener Event : 
<Event><Uuid>0980abd4-5293-4b9b-98e7-2b8ace18c5e8</Uuid></Event>

Thanks & Regards,
Dharam


This email is confidential and subject to important disclaimers and conditions 
including on offers for the purchase or sale of securities, accuracy and 
completeness of information, viruses, confidentiality, legal privilege, and 
legal entity disclaimers, available at 
http://www.jpmorgan.com/pages/disclosures/email


This email is confidential and subject to important disclaimers and conditions 
including on offers for the purchase or sale of securities, accuracy and 
completeness of information,  viruses, confidentiality, legal privilege, and 
legal entity disclaimers, available at 
http://www.jpmorgan.com/pages/disclosures/email

Reply via email to