Статьи

Apache ActiveMQ 5.9: один из самых сильных выпусков ActiveMQ

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

Выпущен Apache ActiveMQ 5.9

Прошло 8 месяцев тяжелой работы с предыдущего релиза 5.8. Я получу право на новые функции.

В этом выпуске мы укрепили посредника и добавили новые протоколы, такие как AMQP и MQTT. Мы также укрепили
постоянное хранилище LevelDB , которое теперь включает новые
функции репликации .

Со временем мы планируем сделать LevelDB постоянным хранилищем по умолчанию, заменив текущее
хранилище KahaDB . Но это придет в будущем выпуске.

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

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

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

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

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

Запуск Apache ActiveMQ

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

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.

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

 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)

Телнет Брокеру

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

telnet localhost 61613
CONNECT
login:foo
passcode:bar

^@

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

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

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

DISCONNECT

^@
Connection closed by foreign host.

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

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

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

 INFO | ActiveMQ WebConsole доступен по адресу http: // localhost: 8161 /

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

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

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

Веб-консоль Hawt.io — поставляется из новой версии Apache ActiveMQ 5.9.

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

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

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

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

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

Надеюсь, что этот релиз даст вам гораздо больше возможностей в том, что вы можете делать со своими приложениями!