Сообщение JMS отправлено в Gatling, но ответ не получен - Куда я иду не так? - PullRequest
0 голосов
/ 01 апреля 2020

Я новичок в тестировании с Gatling и JMS. В течение долгого времени я буду искать Гатлинга, чтобы просто иметь слушателя JMS, ожидающего, пока сообщение JMS будет помещено в очередь от нашего AUT, но сейчас я просто играю в песочнице, чтобы попытаться справиться с обработкой JMS Гатлинга. , Я смотрел на различные примеры, которые бросал в меня гугл, и лучшее, что я придумал, таково:

package jmspublisher

import io.gatling.core.Predef._
import io.gatling.jms.Predef._
import javax.jms._
import scala.concurrent.duration._

    class WebProducer extends  Simulation{

  // create a ConnectionFactory for ActiveMQ
  // search the documentation of your JMS broker
  val connectionFactory =
    new org.apache.activemq.ActiveMQConnectionFactory("tcp://localhost:61616")


  val jmsUsername:String="admin"
  val jmsPwd:String="admin"

  val jmsConfig = jms
    .connectionFactory(connectionFactory)
    .usePersistentDeliveryMode
    .matchByCorrelationId

  val scn = scenario("JMS DSL test").repeat(1) {
    exec(jms("req reply testing").requestReply
      .queue("jmstestq")
      .replyQueue("repQueue")
      .textMessage("hello from gatling jms dsl")
      .jmsType("textMessage")
      .check(simpleCheck(checkBodyTextCorrect)))
  }
      setUp(scn.inject(atOnceUsers(1))).protocols(jmsConfig)         

  def checkBodyTextCorrect(m: Message) = {
    print ("here")
    print (m);  
    // this assumes that the service just does an "uppercase" transform on the text
    m match {
      case tm: TextMessage => tm.getText == "HELLO FROM GATLING JMS DSL"
      case _               => false
    }
  }
}

В консоли activeMQ я вижу, как создаются две очереди, сообщение ставится в очередь на jmstestq, и repQueue имеет один прослушиватель, подключенный во время выполнения - но, похоже, repQueue никогда не получает сообщение от jmstestq, и поэтому ответ никогда не принимается, и проверка никогда не происходит .

Я уверен, что упускаю что-то простое - но что это?!

1 Ответ

0 голосов
/ 01 апреля 2020

Вы уверены, что у вас есть образец AUT, который читает из repQueue, а затем пишет ответное сообщение в repQueue? Если нет, то Гатлинг просто ждет ответа, который никогда не придет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...