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.
---