Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Настройки в broker.xml

В broker.xml должно быть добавлено 2 блока(после выполнения настроек брокер необходимо перезапустить):

Блок кода
themeEclipse
<diverts>
   <divert name="chlog-delayed-divert">
      <routing-name>chlog-delayed-divert</routing-name>
      <address>jms.topic.chlog</address>
      <forwarding-address>jms.topic.chlog-delayed</forwarding-address>
      <transformer>
         <class-name>ru.intertrust.artemis.server.transformer.DelayDeliveryTransformer</class-name>
         <property key="delay" value="180000"/> <!-- 3 мин.-->
      </transformer>
      <exclusive>false</exclusive>
   </divert>
</diverts>

и

Блок кода
themeEclipse
<address-setting match="jms.topic.chlog-delayed">
   <dead-letter-address>DLQ</dead-letter-address>
   <expiry-address>ExpiryQueue</expiry-address>
   <redelivery-delay>60000</redelivery-delay>
   <max-delivery-attempts>5</max-delivery-attempts>
   <redelivery-delay-multiplier>2.0</redelivery-delay-multiplier>
   <!-- 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>true</auto-create-addresses>
   <auto-create-jms-queues>true</auto-create-jms-queues>
   <auto-create-jms-topics>true</auto-create-jms-topics>
</address-setting>

Содержание

Оглавление

Настройки в интерфейсе менеджера агентов

Создать ещё одну JMS-Очередь с названием jms.topic.chlog-delayed

Image Added

Данную очередь необходимо выбрать в настройках агента и в настройке запуска 


Скрипт создания топика на брокере

После выполнения настроек(или можно заранее), если топик chlog-delayed не создался автоматически, выполнить скрипт для создания

Блок кода
themeEclipse
host=tcp://`hostname`:61616
topics="chlog-delayed"
/opt/artemis/bin/artemis address create \
        --multicast \
        --no-anycast  \
        --name jms.topic.chlog-delayed \
        --url $host


Или полный скрипт (в случае, если очередь или топик уже есть - выведется предупреждение и то что было не изменится)

Блок кода
themeEclipse
# <jms-queue entries="java:/jms/cm/am/queue/to-am" name="to-am"/>
# <jms-queue durable="false" entries="java:/jms/cm/am/queue/am-to-any" name="am-to-any"/>
# <jms-topic entries="topic/ConfigurationUpdateTopic" name="ConfigurationUpdateTopic"/>
# <jms-topic entries="topic/ClusterNotificationTopic" name="ClusterNotificationTopic"/>
# <jms-topic entries="java:/jms/cm/am/topic/am-to-many" name="am-to-many"/>
# <jms-topic entries="java:/jms/cm/topic/chlog" name="chlog"/>
host=tcp://`hostname`:61616
topics="ConfigurationUpdateTopic ClusterNotificationTopic am-to-many chlog chlog-delayed"
durable_queues="to-am"
queues="am-to-any cmjBusinessQueue"
for t in $topics; do
/opt/artemis/bin/artemis address create \
        --multicast \
        --no-anycast  \
        --name jms.topic.$t \
        --url $host
done
for q in $durable_queues; do
/opt/artemis/bin/artemis queue create \
        --anycast \
        --durable \
    --purge-on-no-consumers \
        --auto-create-address \
        --address jms.queue.$q \
        --name jms.queue.$q \
        --url $host
done
        # --preserve-on-no-consumers \
for q in $queues; do
/opt/artemis/bin/artemis queue create \
        --anycast \
        --no-durable \
    --purge-on-no-consumers \
        --auto-create-address \
        --address jms.queue.$q \
        --name jms.queue.$q \
        --url $host
done