Я пытаюсь написать потребительский сценарий, в котором я пытаюсь прочитать сообщение из очереди kafka, используя Gatling для запуска тестов perf.
import io.gatling.core.Predef._<BR>
import org.apache.kafka.clients.consumer._<BR>
import org.apache.kafka.common.serialization.StringDeserializer<BR>
import java.util
<BR>
class BasicSimulation1 extends Simulation {
val kafkaTopic = "test_topic_1"
val kafkaBrokers = "localhost:9092"
val props = new util.HashMap[String, Object]()
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaBrokers)
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
classOf[StringDeserializer])
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,
classOf[StringDeserializer])
props.put("group.id", "test-group")
props.put("enable.auto.commit", "true")
props.put("auto.commit.interval.ms", "1000")
props.put("session.timeout.ms", "30000")
val consumer = new KafkaConsumer[String, String](props)
consumer.subscribe(java.util.Arrays.asList(kafkaTopic))
/*
val scn = scenario("Kafka write Test")
.exec(kafka("Simple Request").
setUp(
scn.inject(constantUsersPerSec(1) during(2 )))
.protocols(props)*/
while (true) {
val records: ConsumerRecords[String, String] = consumer.poll(100)
val recordsIterator = records.iterator()
while (recordsIterator.hasNext) {
val currentRecord: ConsumerRecord[String, String] = recordsIterator.next()
println(currentRecord.value())
}
}
}
Проблема, с которой сталкиваются с кодом выше:
Я не могу завершите написание сценария для этого, чтобы я мог использовать BasicSimulation1 в моем файле performance-test.gradle для запуска сценария