I am using WebSphere for both the web server and app server. The web server connects to ActiveMQ Artemis using JMS, while the app server connects to ActiveMQ Artemis using a resource adapter. Once a request comes into the web server, it is sent to an ActiveMQ Artemis queue, and then the request is sent to the consumer. However, I want to hold that message for 10 seconds before it is delivered to the consumer.
Is it possible to achieve this in ActiveMQ Artemis?
Here’s some of my broker.xml
:
<address-settings>
<address-setting match="#">
<dead-letter-address>DLQ</dead-letter-address>
<expiry-address>ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<auto-create-dead-letter-resources>true</auto-create-dead-letter-resources>
<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>
<auto-create-queues>true</auto-create-queues>
<auto-create-addresses>true</auto-create-addresses>
<auto-create-jms-queues>true</auto-create-jms-queues>
<auto-create-jms-topics>true</auto-create-jms-topics>
<auto-delete-queues>false</auto-delete-queues>
<auto-delete-addresses>false</auto-delete-addresses>
<auto-delete-jms-queues>false</auto-delete-jms-queues>
<auto-delete-jms-topics>false</auto-delete-jms-topics>
<expiry-delay>60000</expiry-delay>
</address-setting>