Hello,
my issue is not completely bound to Artemis (involves Camel also) so I’m
trying to ask here first.
>From the JMS specs 2.0 and AMQP I found, the behavior of the shared durable
>subscriptions is still the same as for JMS 1.x specs.
The broker shouldn’t delete a queue associated to shared durable subscriptions
even if no consumers are active at that moment and should store all the
messages in the meanwhile. Am I right?
In my scenario I have a Camel AMQP consumer (Spring Boot + Camel 3.21 – qpid
JMS connection factory) connected to Artemis broker (2.28.0) with shared
durable subscriptions. The client id is uniquely set by a specific extension of
the standard factory I did.
The Camel subscription is (from my camel.xml):
<from uri="amqp:topic://something/#?
selector=key='value'&
asyncConsumer=true&
acknowledgementModeName=CLIENT_ACKNOWLEDGE&
transacted=false&
durableSubscriptionName=myConsumer&
subscriptionShared=true&
concurrentConsumers=2&
maxConcurrentConsumers=5"/>
This consumer is running on a different Docker container than the broker.
If I kill the consumer’s container, then after a while the associated queue is
automatically deleted.
This is my address settings in broker.xml
<address-setting match="#">
<dead-letter-address>DLQ</dead-letter-address>
<expiry-address>ExpiryQueue</expiry-address>
<!-- <expiry-delay>10</expiry-delay> -->
<redelivery-delay>0</redelivery-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>
<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>true</auto-delete-queues>
<auto-delete-created-queues>true</auto-delete-created-queues>
<auto-delete-queues-delay>1000</auto-delete-queues-delay>
<auto-delete-queues-message-count>0</auto-delete-queues-message-count>
<auto-delete-addresses>true</auto-delete-addresses>
<auto-delete-addresses-delay>1000</auto-delete-addresses-delay>
</address-setting>
…..
<wildcard-addresses>
<routing-enabled>true</routing-enabled>
<delimiter>/</delimiter>
<any-words>#</any-words>
<single-word>+</single-word>
</wildcard-addresses>
Regards
Riccardo Modanese