首页 > 解决方案 > Where does ActiveMQ Artemis Console store address and queue definitions?

问题描述

I created the broker folder inside /var/lib on Ubuntu 18.04. Inside /var/lib/[broker]/etc there is the broker.xml file that you can use to define addresses and queues. However, I used the administration console to create an address with a couple queue, and this file does not update. In fact, no files inside the broker directory or Artemis home update.

So where is the administration console storing the definitions?

Also is it a better practice to create the addresses and queue in the broker.xml file instead of through the console?

标签: consoleactivemq-artemis

解决方案


Definitions for addresses and queues created at runtime are stored in binary form in the broker's journal, specifically in the "bindings" journal which is separate from where messages are stored. In your configuration the bindings journal would be in /var/lib/[broker]/data/bindings by default.

As far as best practices go it really depends on the use-case. Some users like to have the address & queue definitions in broker.xml. The broker.xml can be updated at runtime and the broker will deploy newly configured addresses & queues. However, other users don't like to manually edit broker.xml and would rather use the management API instead either through the web console or through another management interface (e.g. HTTP via Jolokia, JMX, management messages, etc.). Still others don't manage addresses or queues at all but simply allow the broker to auto-create the resources which their applications need.


推荐阅读