A durable message won't be acknowledged by the broker until it is written to disk. The transformation is almost certainly being done before the message is written to disk so the sender ostensibly must wait for the transformation to complete before it receives the ack from the broker.
Potential workarounds: 1) Speed up the transformation logic. 2) Send non-durable messages. 3) Use an out-of-band transformer so that the message is written to disk before the transformation occurs. Can you elaborate on how you've configured your transformer? Justin ----- Original Message ----- From: "Matthew Karlsen" <[email protected]> To: [email protected] Sent: Tuesday, May 3, 2016 7:47:31 AM Subject: [Artemis, Qpid JMS] Sending persistent message to Artemis blocks while transformer runs? Hello All, I have a Qpid JMS messaging client sending a persistent message to Artemis. I am finding that the send() method is blocking until the transformer I have configured in Artemis completes (which takes several seconds). Can I confirm that this is intended behaviour? i.e. if a client sends a persistent message it only gets acknowledged as sent once the transformer completes... Are there any work-arounds whilst ensuring that the messages are stored in event of Artemis shutdown? Thank you & regards, Matthew
