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'&amp;

    asyncConsumer=true&amp;

    acknowledgementModeName=CLIENT_ACKNOWLEDGE&amp;

    transacted=false&amp;

    durableSubscriptionName=myConsumer&amp;

    subscriptionShared=true&amp;

    concurrentConsumers=2&amp;

    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

Reply via email to