You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Erwin Dondorp (Jira)" <ji...@apache.org> on 2021/01/31 01:43:00 UTC

[jira] [Created] (ARTEMIS-3090) expiry-queue cannot be unset

Erwin Dondorp created ARTEMIS-3090:
--------------------------------------

             Summary: expiry-queue cannot be unset
                 Key: ARTEMIS-3090
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3090
             Project: ActiveMQ Artemis
          Issue Type: Bug
          Components: Broker
    Affects Versions: 2.16.0
            Reporter: Erwin Dondorp


By default, expiry-queue is set to "ExpiryQueue".

But it is not possible to replace the value with "xsd:nil" since the expiry-queue setting is not nillable as specified in the corresponding XSD.

However, src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java implements a use-case to drop the message when no expiry-queue is set.

This use-case is hard to reach as one must then not set the expiry-queue for the default address (#) and then set the expiry-queue for all other addresses.

I have 2 use-cases for which not expiry-queue should be set. the first is for destinations that carry low-value data, and second for the ExpiryQueue itself, to make sure that messages will eventually be discarded. The default ExpiryQueue cannot expire messages since its expiry-queue points to itself.

I suggest that expiry-queue is made nillable, so that it can simply be applied to individual addresses.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)