Havret edited a comment on issue #29: AMQNET-610: Race conditions during 
consumer creation
URL: https://github.com/apache/activemq-nms-amqp/pull/29#issuecomment-530123108
 
 
   Hi Chris,
   
   I see where it may come from:
   
   
https://github.com/apache/activemq-nms-amqp/blob/3c7ecd5c1b11d7211027293e4e4b38f05c21e0d9/src/NMS.AMQP/NmsMessageConsumer.cs#L399-L409
   
   In line 405 we are using AcknowledgementMode property of session, and there 
is a check there which throws exception when connection is closed. 
   
   In qpid jms they have this helper method ```isIndividualAcknowledge``` which 
circumvents the check that sits inside the getter. I remember asking myself 
during the implementation, why the heck they have this method when they can 
make the check directly. Apparently I've got my answer. 😂
   
   ```
   if (acknowledgementMode == Session.CLIENT_ACKNOWLEDGE) {
       envelope.getMessage().setAcknowledgeCallback(new 
JmsAcknowledgeCallback(session));
   } else if (session.isIndividualAcknowledge()) {
       envelope.getMessage().setAcknowledgeCallback(new 
JmsAcknowledgeCallback(session, envelope));
   }
   ```
   
   
https://github.com/apache/qpid-jms/blob/94822aced1380bae7935db6305250bf6bea7a9ac/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java#L497-L501
   
   @cjwmorgan-sol Could you be kind enough to file an issue, so it could be 
fixed in a separate PR? 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to