This is sort of follow up to my previous message.
I am evaluating STOPM v1.2 protocol implementation. In our use case STOMP
message consumers have to call an unreliable third party dependency, and
this call can fail from time to time.
The subscription is set in the ack:client-individual mode.

As the consumers are unreliable, we would like to have the messages
reenqueued on the same queue if the consumer doesn't sent ACK back. One way
around that is to set the expiry timeout on the message/queue.

In the Apollo project, it was possible to dynamically set the expiry queue
name using wildcard (*). According to this documentation:
https://activemq.apache.org/apollo/documentation/user-manual.html

>dlq: Is the dead letter queue configured for the destination. A dead
letter queue is used for storing messages that failed to get processed by
consumers. If not set, then messages that fail to get processed will be
dropped. If '*' appears in the name it will be replaced with the queue's id.

In Artemis it is potentially possible, if I use the static queue names, and
set the config like that :
<address-settings>
         <address-setting match="jms.queue.unreliableConsumer">
            <dead-letter-address>jms.queue.DLQ</dead-letter-address>
            <expiry-address>jms.queue.unreliableConsumer</expiry-address>
            <redelivery-delay>0</redelivery-delay>
            <redistribution-delay>0</redistribution-delay>
            <max-delivery-attempts>-1</max-delivery-attempts>
             <expiry-delay>30000</expiry-delay>
            <!-- with -1 only the global-max-size is in use for limiting -->
            <max-size-bytes>-1</max-size-bytes>
            <message-counter-history-day-limit>10</message-counter-
history-day-limit>
            <address-full-policy>PAGE</address-full-policy>
        <send-to-dla-on-no-route>false</send-to-dla-on-no-route>
            <auto-create-jms-queues>true</auto-create-jms-queues>
        <auto-delete-jms-queues>false</auto-delete-jms-queues>
         </address-setting>
      </address-settings>

Is it possible to achieve the same functionality for dynamically created
queues ?

Reply via email to