我正在尝试使用Java Vuser协议通过Loadrunner 12.50中的java程序向Kafka集群发送消息。 代码如下:
import lrapi.lr;
import java.util.*;
import org.apache.kafka.clients.producer.*;
import org.apache.kafka.clients.producer.internals.*;
import org.apache.kafka.clients.*;
public class Actions
{
public int init() throws Throwable {
return 0;
}
public int action() throws Throwable {
String topicName = "TopicName";
String value = "PTTest1";
Properties props = new Properties();
props.put("bootstrap.servers", "AAA-abcde-001:9092");
props.put("key.serializer","org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
Producer<String, String> producer = new KafkaProducer <String,String>(props);
ProducerRecord<String, String> record = new ProducerRecord<String,String>(topicName,value);
producer.send(record);
producer.close();
return 0;
}//end of action
public int end() throws Throwable {
return 0;
}
}
虽然它没有在Vugen中给出任何编译错误,但它在运行时失败并出现以下错误:
错误:在java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)的java.lang.ClassLoader.defineClass(ClassLoader.java:800)的java.lang.ClassLoader.defineClass1(本机方法)中at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access $ java(URLClassLoader.java:71)at java.net.URLClassLoader $ 1.run(URLClassLoader.java:361)at java.net.URLClassLoader $ 1.run(URLClassLoader.java:355)at java java.net.URLClassLoader.findClass中的.security.AccessController.doPrivileged(Native Method)(URLClassLoader.java:354) 在java.lang.ClassLoader.loadClass(ClassLoader.java:425)的sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308)at java.lang.ClassLoader.loadClass(ClassLoader.java:358)at DummyClassLoader。 java.lang.ClassLoader.loadClass(ClassLoader.java:358)中的loadClass(DummyClassLoader.java:15) 在ScriptFactory.getScriptObject(ScriptFactory.java:50)错误:无法创建脚本对象。错误:在扩展java_int.dll中调用abort-cleanup函数时引发异常:系统异常:EXCEPTION_ACCESS_VIOLATION
我在运行时类路径中使用了kafka-clients-0.9.0.0.jar(kafka-clients-0.10.0.0.jar),java-util-1.3.1.jar和jre6 \ lib \ rt.jar拥有JDK 1.6 for Vugen兼容性。
我已尝试设置环境和系统变量,但错误仍然存在。能否指出我正确的方向来解决这个错误。