gpt4 book ai didi

java - 如何将变量传递给 Pepper-Box 纯文本配置

转载 作者:行者123 更新时间:2023-12-02 09:34:32 28 4
gpt4 key购买 nike

我正在设置 Pepper-Box 纯文本配置以使用 ${accountNumber}、${{accountNumber}}、{{accountNumber}} 传递变量,并使用函数返回字符串,但没有成功。

这是我给卡夫卡的消息:

{
"eventName": "OFFER",
"payload": {
"accountNumber": "${accountNumber}",
"Limit": 20000000
}
}

但是变量没有通过,当我看到调试采样器时,accountNumber是通过的。我认为调用该变量时存在错误,但我尝试了一些技术,但它也不起作用。

当我尝试${{accountNumber}}时,错误消息是:

symbol: method accountNumber() location: class MessageIterator1566802574812 1 error

Uncaught Exception java.lang.ClassFormatError: Truncated class file. See log file for details.

最佳答案

这看起来像是插件的限制,你基本上被限制在 Schema Template Functions

或者,您可以使用 JSR223 Sampler 将记录发送到 Kafka以及以下 Groovy 代码:

import org.apache.jmeter.threads.JMeterVariables
import org.apache.kafka.clients.producer.KafkaProducer
import org.apache.kafka.clients.producer.ProducerRecord

def kafkaProps = new Properties()
kafkaProps.put(org.apache.kafka.clients.producer.ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092")
kafkaProps.put(org.apache.kafka.clients.producer.ProducerConfig.CLIENT_ID_CONFIG, "KafkaExampleProducer")
kafkaProps.put(org.apache.kafka.clients.producer.ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, org.apache.kafka.common.serialization.LongSerializer.class.getName())
kafkaProps.put(org.apache.kafka.clients.producer.ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, org.apache.kafka.common.serialization.StringSerializer.class.getName())
def producer = new KafkaProducer<>(kafkaProps)

JMeterVariables vars = new JMeterVariables()
vars.put("accountNumber", "foo")

def record = new ProducerRecord<>("test", "{\n" +
" \"eventName\": \"OFFER\",\n" +
" \"payload\": {\n" +
" \"accountNumber\": \"" + vars.get("accountNumber") + "\",\n" +
" \"Limit\": 20000000\n" +
" }\n" +
"}")

producer.send(record)

更多信息:Apache Kafka - How to Load Test with JMeter

关于java - 如何将变量传递给 Pepper-Box 纯文本配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57653417/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com