Как редактировать атрибуты ActiveMQ Artemis

Я новичок в ActiveMQ Artemis и не знаю, как изменять/редактировать/устанавливать какие-либо конфигурации (атрибуты) после создания адреса, очередей или чего-либо еще. В веб-консоли, когда я нажимаю, скажем, на адрес или очередь, на вкладке атрибутов я могу просмотреть массу информации, например: тип маршрутизации, адрес, роль, долговечность и т. д. Но когда я нажимаю на поле, Я могу только просматривать, но нет возможности редактировать.

Я попытался снимать в темноте, создав очередь с именем «TestTopic» в веб-консоли. Пошел в папку брокера и искал эту строку, используя следующую команду:

grep -R "TestTopic" .

Но не повезло!

Затем я попытался изучить сам документ java API, но у них есть только методы получения. А jolokia API предоставляет данные только для чтения.

Я подумал, что это может быть из-за моей роли, которая дает мне разрешение только на чтение, но это было бы странно, поскольку первоначальный пользователь должен иметь права администратора, и когда я проверил его, мне кажется, что это правильно с «набором *» метод доступа.

В файле artemis-roles.properties:

amq = admin

В файле broker.xml:

<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"/>
      <permission type = "browse" roles = "amq"/>
      <permission type = "send" roles = "amq"/>
      <!-- we need this otherwise ./artemis data imp wouldn't work -->
      <permission type = "manage" roles = "amq"/>
   </security-setting>
</security-settings>

В файле management.xml:

<?xml version = "1.0" encoding = "UTF-8" standalone = "yes"?>
<management-context xmlns = "http://activemq.apache.org/schema">
   <authorisation>
      <allowlist>
         <entry domain = "hawtio"/>
      </allowlist>
      <default-access>
         <access method = "list*" roles = "amq"/>
         <access method = "get*" roles = "amq"/>
         <access method = "is*" roles = "amq"/>
         <access method = "set*" roles = "amq"/>
         <access method = "*" roles = "amq"/>
      </default-access>
      <role-access>
         <match domain = "org.apache.activemq.artemis">
            <access method = "list*" roles = "amq"/>
            <access method = "get*" roles = "amq"/>
            <access method = "is*" roles = "amq"/>
            <access method = "set*" roles = "amq"/>
            <!-- Note count and browse are need to access the browse tab in the console-->
            <access method = "browse*" roles = "amq"/>
            <access method = "count*" roles = "amq"/>
            <access method = "*" roles = "amq"/>
         </match>
      </role-access>
   </authorisation>
</management-context>

У меня заканчиваются варианты, где искать. Если вы, ребята, можете указать мне правильное направление, это было бы очень признательно :)

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Очереди практически неизменяемы. Это сделано для того, чтобы изменения конфигурации не оказали непреднамеренного негативного влияния на сообщения в очереди (например, изменение очереди на durable = false, а затем перезапуск брокера только для того, чтобы обнаружить, что все устойчивые сообщения в очереди удалены). Рекомендуемый способ «изменить» конфигурацию — создать новую очередь с желаемой конфигурацией, переместить сообщения (если есть) в эту очередь по мере необходимости и удалить старую очередь.

Если вы создаете долговременную очередь или адрес через веб-консоль, эти данные сохраняются в журнале «привязок» брокера. Он не записывается обратно в broker.xml, поэтому вы не можете найти его с помощью grep.

Другие вопросы по теме