You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Justin Bertram (Jira)" <ji...@apache.org> on 2022/12/20 15:05:00 UTC
[jira] [Updated] (ARTEMIS-4121) multicast does not work with auto-create off
[ https://issues.apache.org/jira/browse/ARTEMIS-4121?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Justin Bertram updated ARTEMIS-4121:
------------------------------------
Component/s: (was: ActiveMQ-Artemis-Native)
> multicast does not work with auto-create off
> --------------------------------------------
>
> Key: ARTEMIS-4121
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4121
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Affects Versions: 2.24.0, 2.27.1
> Reporter: D vd Broek
> Priority: Minor
>
> We haven a setup in which we want to be in control of the created addresses en queues.
> We use multicast on some occasions. We are not able to remove permissions and turn-off auto create queues in that case. Normal anycast address and q work fine.
> The error we get is:
> {{o.a.c.component.jms.DefaultJmsMessageListenerContainer : Setup of JMS message listener invoker failed for destination 'test.exists' - trying to recover. Cause: Destination test.exists does not exist}}
> This is not what we expected. We think this is not the correct behavior.
>
> +*Reproduce steps:*+
> Setup de broker with an user that is allowed to send and receive.
> Set auto-create on false.
> This is what we have:
> {{ <security-settings>}}{{ <security-setting match="#">}}{{ <permission type="createNonDurableQueue" roles="amq"/>}}{{ <permission type="deleteNonDurableQueue" roles="amq"/>}}{{ <permission type="createDurableQueue" roles="amq"/>}}{{ <permission type="deleteDurableQueue" roles="amq"/>}}{{ <permission type="createAddress" roles="amq"/>}}{{ <permission type="deleteAddress" roles="amq"/>}}{{ <permission type="consume" roles="amq,csb"/>}}{{ <permission type="browse" roles="amq"/>}}{{ <permission type="send" roles="amq,csb"/>}}{{ <!-- we need this otherwise ./artemis data imp wouldn't work -->}}{{ <permission type="manage" roles="amq"/>}}{{ </security-setting>}}{{ </security-settings>}}{{}}{{ <address-settings>}}{{}}{{ <!--default for catch all-->}}{{ <address-setting match="#">}}{{}}{{ <!-- 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>false</auto-create-queues>}}{{ <auto-create-addresses>false</auto-create-addresses>}}{{ <auto-create-jms-queues>false</auto-create-jms-queues>}}{{ <auto-create-jms-topics>false</auto-create-jms-topics>}}{{ <management-message-attribute-size-limit>-1</management-message-attribute-size-limit>}}{{ </address-setting>}}
>
> Create an address with multicast queues under it.
> Try to consume from that q.
> We use a recent camel and springboot to do this.
>
> The workaround we implemented is (widening permissions and auto create until it works):
> {{ <security-settings>}}{{ <security-setting match="#">}}{{ <permission type="createNonDurableQueue" roles="amq"/>}}{{ <permission type="deleteNonDurableQueue" roles="amq"/>}}{{ <permission type="createDurableQueue" roles="amq,csb"/>}}{{ <permission type="deleteDurableQueue" roles="amq"/>}}{{ <permission type="createAddress" roles="amq"/>}}{{ <permission type="deleteAddress" roles="amq"/>}}{{ <permission type="consume" roles="amq,csb"/>}}{{ <permission type="browse" roles="amq"/>}}{{ <permission type="send" roles="amq,csb"/>}}{{ <!-- we need this otherwise ./artemis data imp wouldn't work -->}}{{ <permission type="manage" roles="amq"/>}}{{ </security-setting>}}{{ </security-settings>}}{{}}{{ <address-settings>}}{{}}{{ <!--default for catch all-->}}{{ <address-setting match="#">}}{{}}{{ <!-- 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>false</auto-create-addresses>}}{{ <auto-create-jms-queues>true</auto-create-jms-queues>}}{{ <auto-create-jms-topics>false</auto-create-jms-topics>}}{{ <management-message-attribute-size-limit>-1</management-message-attribute-size-limit>}}{{ </address-setting>}}
> This will give us the following error (what we want to avoid accidentally creating q.) for an queue that does not exist : {{{}Setup of JMS message listener invoker failed for destination '{}}}{{{}test.notexists{}}}{{{}' - trying to recover. Cause: AMQ229203: Address Does Not Exist: {}}}{{test.notexists}}{{{}{}}}
>
>
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)