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

Reply via email to