Github user gemmellr commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/2187#discussion_r221191158
--- Diff:
artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageProducer.java
---
@@ -577,26 +587,62 @@ private CompletionListenerWrapper(CompletionListener
listener,
@Override
public void
sendAcknowledged(org.apache.activemq.artemis.api.core.Message clientMessage) {
- if (jmsMessage instanceof StreamMessage) {
- try {
- ((StreamMessage) jmsMessage).reset();
- } catch (JMSException e) {
- // HORNETQ-1209 XXX ignore?
+ if (active.get()) {
--- End diff --
Doing a getAndSet seems like it might be nicer given the aim to ensure only
a single processing and call on the CompletionListener occurs. Granted though
its not likely that multiple concurrent attempts are going to be made here.
---