If a client doesn't explicitly (e.g. via the core API, by using a configured prefix, etc.) or implicitly (e.g. working with a JMS queue (i.e. anycast) or JMS topic (i.e. multicast)) specify a routing type then the broker uses the defaults (which is multicast for both addresses and queues) when auto-creating resources. The defaults are set via the "default-address-routing-type" and "default-queue-routing-type" elements of "address-setting". You can read more about this in the documentation [1].
In your case, if you are using the defaults and you send a message to an address which doesn't exist then that address will be auto-created as multicast (i.e. the default). Multicast provides publish/subscribe semantics in Artemis and the fact that the address doesn't exist means that no subscribers care about the message you sent which means the message will be discarded. In other words, it will not be routed to any queues. If you changed the default to anycast then both an anycast address and a durable anycast queue would be created and the message would be routed to that anycast queue. Please let me know if you have additional questions. Justin [1] https://activemq.apache.org/artemis/docs/latest/address-model.html On Fri, Jan 5, 2018 at 11:04 AM, andi welchlin <[email protected]> wrote: > Hello Justin, > > I am using the QPID Proton API (Python) and create a producer via AMQP 1.0. > I think there is no preference if it should be a queue or an exchange when > you create a producer using AMQP. > > In the code it looks like: > > > *sender = container.create_sender(self.conn, > topic_name)sender.send(amqp_message)* > > That's it. > > My idea was to define some defaults in Artemis depending on the topic name > so Artemis could autocreate a queue which is persistent. > > Kind Regards, > Andreas > > > > > > On Fri, Jan 5, 2018 at 5:40 PM, Justin Bertram <[email protected]> > wrote: > > > Can you elaborate on your use-case a bit? What is the client doing to > > cause the queue to be auto-created (e.g. sending a message, creating a > > consumer, etc.). Is the client using the JMS API? If so, it is working > > with a "queue" or a "topic"? > > > > Also, the "name" attributes of the address and queue elements don't > support > > wild-cards. Wild-cards are supported in the "match" elements of things > > like address-setting. > > > > > > Justin > > > > On Fri, Jan 5, 2018 at 10:15 AM, andi welchlin <[email protected]> > > wrote: > > > > > Hello, > > > > > > I would like to use queues which are automatically created. > > > > > > So I tried it out and saw that they are not durable (persistent), which > > > means a late joiner will not get messages. > > > > > > My try to configure some default behaviour for all queues which begin > > with > > > 'M' was this: > > > > > > <address name="M#"> > > > <anycast> > > > <queue name="M#"> > > > <durable>true</durable> > > > </queue> > > > </anycast> > > > </address> > > > > > > > > > But this did not work. > > > > > > Is there someone who can help me? > > > > > > Kind Regards, > > > Andreas > > > > > >
