You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "D vd Broek (Jira)" <ji...@apache.org> on 2022/12/20 13:14:00 UTC
[jira] [Created] (ARTEMIS-4121) multicast does not work with auto-create off
D vd Broek created ARTEMIS-4121:
-----------------------------------
Summary: 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
Components: ActiveMQ-Artemis-Native
Affects Versions: 2.27.1, 2.24.0
Reporter: D vd Broek
Assignee: Clebert Suconic
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)