Инструмент для размещения тестовых сообщений в очереди JMS?[закрыто]
Вопрос
Кто-нибудь может порекомендовать инструмент для быстрой отправки тестовых сообщений в очередь JMS?Инструмент должен позволять пользователю вводить некоторые данные, возможно, полезную нагрузку XML, а затем отправлять их в очередь?Я знаю, что, вероятно, мог бы придумать что-нибудь достаточно быстрое, чтобы сделать это, но я подумал, что сначала спрошу, прежде чем изобретать велосипед.Ваше здоровье.
Решение
Этот ответ не распространяется на всех JMS-брокеров, но если вы используете Apache ActiveMQ , веб-консоль администратора (по умолчанию по адресу http: // localhost: 8161 / admin ) позволяет отправлять вручную текстовые сообщения на темы или очереди. Это удобно для отладки.
Другие советы
HermesJMS кажется довольно мощным клиентом для взаимодействия с поставщиками JMS. На мой взгляд, это довольно не интуитивно понятно и сложно настроить. (По крайней мере, я в основном терплю неудачу в этом ...)
Другие, более удобные в использовании клиенты часто зависят от поставщика. Sonic Message Manager - очень приятный и простой в использовании клиент JMS с открытым исходным кодом для SonicMQ . Было бы здорово, если бы такой клиент работал с разными провайдерами.
Веб-консоль администратора ActiveMQ имеет большой недостаток - при публикации сообщения нельзя указать какие-либо заголовки / пользовательские свойства.
Я наткнулся на аккуратный инструмент FOSS, который может отправлять сообщения, а также указывать заголовки / свойства:
http://sourceforge.net/projects/activemqbrowser/
HTH
Apache JMeter это инструмент (написанный для платформы Java), который позволяет:
отправка сообщений в очередь (от точки к точке)
публикация / подписка на тему
отправка как постоянных, так и непостоянных сообщений
отправка текстовых сообщений , сообщений о картах и объектах
Apache ActiveMQ включает в себя ProducerTool и ConsumerTool example sources (Java) с множеством параметров конфигурации командной строки.Поскольку он основан на JMS API, использовать его с другими брокерами сообщений должно быть легко с незначительными изменениями.
Я рекомендую подход @Will и использование Веб-консоль ActiveMQ который позволяет вам легко публиковать сообщения, просматривать очереди или удалять сообщения.
Другой подход, который я часто использую, заключается в использовании каталога файлов в качестве образца данных и использовании маршрута Camel для перемещения сообщений из каталога в очередь JMS - или для извлечения их из очереди и сохранения на диск и т. Д
например ,
from("file://someDirectory").
to("activemq:MyQueue");
Это переместило бы все файлы из someDirectory и отправило бы их в очередь ActiveMQ под названием myQueue.Если вы предпочитаете оставить файлы на месте, вы можете использовать URI "file://someDirectory?noop=true".
Для получения более подробной информации смотрите
IBM предоставляет бесплатный мощный инструмент командной строки, называемый perfharness .
Несмотря на то, что он нацелен на тестирование JMS-провайдеров, он действительно хорош для генерации (и потребления) тестовых сообщений. Вы можете использовать данные, сгенерированные случайным образом или взятые из файла.
Мощные функции включают в себя отправку и потребление сообщений с фиксированной скоростью, использование определенного количества потоков, использование JMS или собственного MQ и т. д. Он генерирует статистику, указывающую, насколько точно работает ваша очередь (отсюда и название). р>
Единственным недостатком является то, что он не очень интуитивно понятен, учитывая количество операций, которые он поддерживает.
Также, если JMS-брокер поддерживает JMX, как ActiveMQ, вы можете использовать JConsole, чтобы публиковать сообщения и делать гораздо больше.
ActiveMQ имеет веб-консоль для отправки тестовых сообщений (как упомянуто выше), но если у вашего провайдера этого нет, проще всего написать консольное приложение / веб-страницу для публикации тестовых сообщений. Отправка сообщения в JMS не слишком сложна, вы можете получить максимальную выгоду, просто написав свой собственный тестовый клиент.
Если вы можете использовать Spring в Java, у него есть действительно мощные утилиты, посмотрите JmsTemplate .
Я не знаю простого клиента. Я помню, как искал одну давным-давно, когда я исследовал различные системы очередей и пробовал JMS, я не мог найти ее тогда и не мог найти сейчас. Хотя есть одна вещь - есть множество учебников, которые помогут вам начать, и вы можете сделать простую форму для достижения этой цели.
Извините, что не помогу.
Я создал инструмент с графическим интерфейсом для администрирования JMS-серверов с открытым исходным кодом (в настоящее время Activemq и Hornetq). Он может отправлять и получать сообщения и большинство обычных вещей, а также объединять очереди и темы в логические «группы».
Это коммерческий продукт, но бета-версия бесплатна и полностью функциональна.
опробуйте его на http://www.rockeyesoftware.com/
Для ActiveMQ каталог examples содержит скрипты.Для любителей Ruby посмотрите на example/ruby/stompcat.rb и catstomp.rb для подписки и публикации.
Я бразильский разработчик, и я создал программу на Java для Post HTTP и JMS Messages, которую можно загрузить по адресу: https://sites.google.com/site/felipeglino/softwares/posttool р>
На этой странице вы можете найти инструкции на английском языке.