Пробоотборник JMeter JMS «точка-точка» с ActiveMQ - PullRequest
0 голосов
/ 14 января 2020

Мы обновляем приложение для использования ActiveMQ (classi c, версия 5.15.9). Следовательно, мы выравниваем наши существующие тесты JMeter (версия 3.1) для использования ActiveMQ. В JMS Sampler свойства были изменены и установлены следующим образом:

  • Фабрика начального контекста = org. apache .activemq.jndi.ActiveMQInitialContextFactory
  • Url поставщика контекста = tcp : // [MyHost]: 61616
  • Фабрика соединений очереди = ConnectionFactory
  • Очередь отправки = queue.MyApp.RequestQueue
  • Очередь получения = queue.MyApp.ResponseQueue

Тем не менее, я получаю следующую ошибку в журналах JMeter (даже если функциональные тесты работают с этим автономным ActiveMQ и очередями):

ОШИБКА - jmeter.protocol .jms.sampler.JMSSampler: queue.MyApp.RequestQueue javax.naming.NameNotFoundException: queue.MyApp.RequestQueue

в орг. apache .activemq.jndi.ReadOnupxt ReadOnlyContext. java: 235)

в javax.naming.InitialContext.lookup (InitialContext. java: 417)

в орг. apache .jmeter.protocol.jms. sampler.JMSSampler.threadStarted (JMSSampler. java: 337)

в организации . apache .jmeter.threads.JMeterThread $ ThreadListenerTraverser.addNode (JMeterThread. java: 659)

в организации. apache .jorphan.collections.HashTree.traverseInto (HashTree. java: 996)

в орг. apache .jorphan.collections.HashTree.traverse (HashTree. java: 978)

в орг. apache .jmeter.threads.JMeterThread. threadStarted (JMeterThread. java: 628)

в орг. apache .jmeter.threads.JMeterThread.initRun (JMeterThread. java: 616)

в орг. apache .jmeter.threads.JMeterThread.run (JMeterThread. java: 245)

при java .lang.Thread.run (Тема. java: 745)

Есть мысли о том, что я, возможно, пропустил?

Ответы [ 2 ]

1 голос
/ 14 января 2020

Вам необходимо настроить JMS двухточечный сэмплер немного по-другому:

  1. Имя JNDI Очередь запросов: Q.REQ
  2. Имя JNDI Очередь приема: Q.RSP
  3. Добавьте следующие свойства JNDI:

    • queue.Q.RSP со значением queue.MyApp.ResponseQueue
    • queue.Q.REQ со значением queue.MyApp.RequestQueue

Полная конфигурация на всякий случай:

enter image description here

Дополнительная информация: Создание плана тестирования JMS - Apache JMeter

Демонстрация:

enter image description here

0 голосов
/ 14 января 2020

Я нашел https://www.tutorialspoint.com/jmeter/jmeter_jms_pointtopoint_test_plan.htm, чтобы найти решение моей проблемы.

Как и в этом уроке, я установил:

  • Отправить очередь = Q.REQ
  • Очередь приема = Q.RESP

Затем я добавил свойства JNDI следующим образом:

  • Имя = queue.Q.REQ, value = queue.MyApp.RequestQueue
  • Имя = queue.Q.RESP, value = queue.MyApp.RequestQueue

И вуаля!

...