Тестирование JMeter JMS точка-точка - "Ответ не получен"

У меня есть двухточечный тест JMS JMeter, в котором я отправляю XML-документ в очередь, которая переходит в MongoDB и отвечает на XML-документ обратно.

Когда я запускаю тест в JMeter, по журналам RedHat я вижу, что запрос поступил в Mongo и вернулся правильно. Хотя в JMeter тест не пройден, и я получаю сообщение:

"Не получено ответного сообщения"

Если я установлюcommunication-styleкRequest Onlyтест проходит. Все мои соединения правильные, и я использую JMeter версии 2.11.

Я прочитал на форумах, чтобы изменить файл jmeter.properties, чтобы включить JMSSampler.useSecurity.properties=false, Это не сработало.

Любые мысли по этому поводу будут высоко оценены,

Спасибо,

Kash

3 ответа

Исправлена.

Я снял собственность для 'queue.Response', а также поле Очередь получения имени JNDI.

Это, казалось, добилось цели

Эту проблему можно устранить, предоставив свойство JMSCorrelationId. Укажите значение свойства как MsgId-${__time()}. Обратите внимание на двойное подчеркивание как суффикс функции времени ( https://jmeter.apache.org/usermanual/functions.html). Это обеспечит отправку корреляционного идентификатора текущего миллиса на каждый запрос и будет совпадать с ответом при возврате.

Примечание: 1. используйте стиль связи в качестве ответа на запрос 2. не устанавливайте флажки в альтернативных полях 3. Предоставляйте очередь получения имени JNDI, на которую отправляются ответы

У меня была такая же проблема, и вот как она была решена:

Появляется, если вы используете разные очереди для запроса и ответа, ни один из предопределенных атрибутов для использования либо messageID, либо CorrelationID для отслеживания ответных сообщений не работает.

Поэтому не выбирайте ни одно из двух - отмените выбор обоих. Вместо этого определите новый атрибут для любых свойств JMS для идентификатора корреляции следующим образом.

Имя свойства: JMSCorrelationId Значение свойства: MesgID-${_time(,)}

Это должно работать нормально.

Другие вопросы по тегам