Статьи

Выпущен Apache ActiveMQ 5.9

Команда Apache ActiveMQ только что выпустила новую версию ActiveMQ 5.9 .

Этот выпуск представляет собой 8 месяцев напряженной работы с момента предыдущего выпуска 5.8.

В этом выпуске у нас, как обычно, более усиленная защита брокера и недавно появившиеся новые протоколы, такие как AMQP и MQTT. Также очень интересным является укрепление постоянного хранилища leveldb , которое теперь также включает новую функциональность репликации . Со временем уровень db планируется по умолчанию из постоянного постоянного хранилища вместо текущего хранилища kahadb . Хотя мы еще не там, поэтому kahadb по-прежнему является магазином по умолчанию.

Еще одна замечательная новая функциональность — это возможность вносить изменения конфигурации во время выполнения в брокер без необходимости перезапуска брокера. Вы еще не можете изменить все, но вы можете, например, обновить сетевые соединители, если у вас есть кластеризованные посредники и т. Д. В документации подробно описаны, какие части можно обновить.

Для пользователей Camel существует новый брокерский компонент, который позволяет более легкую маршрутизацию между брокерами. Роб Дэвис ранее писал об этом и предоставляет интересный пример использования, который позволяет использовать логику маршрутизации Camel, чтобы решить, должна ли отправка сообщения в очередь идти в очередь или в другую очередь, в зависимости от текущей глубины очереди.

И последнее, но не менее важное: Apache ActiveMQ теперь поставляется с hawtio в качестве новой веб-консоли из коробки. Старая веб-консоль все еще существует, но считается устаревшей.

Мы также очистили каталог conf, перенеся все примеры конфигурации в examples / conf.

Замечания к выпуску Apache ActiveMQ 5.9 здесь .

Запуск Apache ActiveMQ

Испытать Apache ActiveMQ легко. Вы заходите на сайт activemq.apache.org и нажимаете на ссылку для скачивания. Затем вы можете скачать zip или tgz файл дистрибутива. Затем вы распаковываете / распаковываете файл и затем можете запустить посредник из командной строки, как показано ниже:

1
2
3
davsclaus:/opt$ tar xf ~/Downloads/apache-activemq-5.9.0-bin.tar.gz
davsclaus:/opt$ cd apache-activemq-5.9.0/
davsclaus:/opt/apache-activemq-5.9.0$ bin/activemq console

Когда брокер запускает, он теперь регистрирует все транспортные соединители, которые он предоставляет, и их URL.

Из журналов ниже мы видим, что …

01
02
03
04
05
06
07
08
09
10
INFO | Listening for connections at: tcp://davsclaus.air:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600
 INFO | Connector openwire started
 INFO | Listening for connections at: amqp://davsclaus.air:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600
 INFO | Connector amqp started
 INFO | Listening for connections at: stomp://davsclaus.air:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600
 INFO | Connector stomp started
 INFO | Listening for connections at: mqtt://davsclaus.air:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600
 INFO | Connector mqtt started
 INFO | Listening for connections at ws://davsclaus.air:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600
 INFO | Connector ws started

у нас включены следующие транспортные соединения

  • openwire — это протокол JMS
  • AMQP — AMQP 1,0
  • Stomp — это очень простой текстовый протокол, который вы можете использовать из telnet
  • mqtt — для связи между машинами
  • ws — websocket (stomp или mqtt)

Telnet брокеру

Например, с помощью stomp мы можем подключиться к брокеру с помощью telnet и ввести команды stomp оболочки telnet для подключения, отправки и получения сообщений. Например, для подключения я могу набрать:

1
2
3
4
5
6
telnet localhost 61613
CONNECT
login:foo
passcode:bar
 
^@

И брокер ответит:

1
2
3
4
5
CONNECTED
heart-beat:0,0
session:ID:davsclaus.air-61798-1382433481104-2:1
server:ActiveMQ/5.9.0
version:1.0

И тогда я могу отключиться от:

1
2
3
4
DISCONNECT
 
^@
Connection closed by foreign host.

Здесь есть руководство пользователя, как использовать telnet с stomp .

Доступ к веб-консоли

Когда брокер ActiveMQ запускается, он записывает URL для веб-консоли:

1
INFO | ActiveMQ WebConsole available at http://localhost:8161/

Так что просто откройте брокера по этой ссылке. Когда вы получаете доступ к консоли, она защищена, поэтому вам необходимо войти в систему. Брокер поставляется с именем пользователя и паролем по умолчанию, которые вы можете увидеть в файле conf / users.properties.

Существует также файл docs / WebConsole-README.txt, который содержит более подробную информацию о веб-консолях, а также о том, как включить / отключить вход в систему и т. Д.

Например, с помощью веб-консоли hawtio мы можем создавать очереди и отправлять сообщения в очереди. На скриншоте ниже я создал две очереди: пиво и вино и отправил сообщение пиву.

В консоли есть действия для перемещения сообщений между очередями, просмотра и удаления. И сообщения, находящиеся в очереди недоставленных сообщений, могут быть повторно отправлены в их исходную очередь, что позволяет повторить попытку обработки сообщения (сообщений).

Попытка веб-примеров ActiveMQ

Apache ActiveMQ поставляется с несколькими веб-примерами, которые вы можете попробовать, запустив брокер следующим образом

1
bin/activemq console xbean:examples/conf/activemq-demo.xml

Чтобы попробовать примеры, откройте веб-браузер по адресу http: // localhost: 8161 / и нажмите на последнюю ссылку. PS Вам также следует попробовать нажать на ссылку веб-консоли (hawtio), поскольку веб-консоль теперь также показывает плагин Camel, поскольку одним из примеров является использование Camel.

Ссылка: Apache ActiveMQ 5.9, выпущенный нашим партнером по JCG Клаусом Ибсеном для Apache Camel .