Тестирование 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(,)}
Это должно работать нормально.