Инструмент для размещения тестовых сообщений в очереди JMS?[закрыто]

StackOverflow https://stackoverflow.com/questions/37969

  •  09-06-2019
  •  | 
  •  

Вопрос

Кто-нибудь может порекомендовать инструмент для быстрой отправки тестовых сообщений в очередь 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

На этой странице вы можете найти инструкции на английском языке.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top