Команда 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.