Jmeter MarshalException:错误编组参数

时间:2015-12-15 16:06:02

标签: azure jmeter distributed-testing

我将jmeter配置为运行使用Azure Windows虚拟机分发的测试。所有机器都使用窗户。

测试使用GUI模式成功运行,我可以将结果保存在master上 但是,当我尝试从控制台 jmeter -n -t plan.jmx -r 运行测试时,控制台说:

  

rconfigure()方法中的错误java.rmi.MarshalException:错误编组参数;嵌套异常是:   java.io.NotSerializableException:org.apache.jmeter.JMeter $ ListenToTest

我已经配置了所有虚拟机(服务器和客户端),如:

Java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
Jmeter version 2.13
Jmeter Plugins 1.31

任何想法可能是什么问题? 感谢

修改

我将Java版本降级为1.7,现在错误显示为

  

rconfigure()方法中的错误java.rmi.MarshalException:错误编组参数;嵌套异常是:           java.io.NotSerializableException:org.apache.jmeter.threads.RemoteThreadsListenerTestElement

Jmeter插件可以解决问题的原因吗?

编辑 - 修复

我将插件版本从1.31更改为1.21,现在可以工作!!!。

但是我认为,我只是在这里猜测,当我从GUI运行测试然后在控制台上运行时会发生错误。可能GUI会打开套接字或类似的东西,不确定。

无论如何,这种组合有效

Java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
Jmeter version 2.13
Jmeter Plugins 1.21 (only Standard Version)

2 个答案:

答案 0 :(得分:4)

我一直在努力:

NotSerializableException: org.apache.jmeter.threads.RemoteThreadsListenerTestElement

我的问题是:

Caused by: java.net.BindException: Address already in use (Bind failed)

此错误信息未出现在标准输出中,只出现在日志文件中。

答案 1 :(得分:1)

检查jmeter.log(位于bin文件夹中)文件中的日志,以及是否存在类似以下错误:

2018-09-17 14:41:32,097 ERROR o.a.j.e.ConvertListeners: Error replacing class org.apache.jmeter.threads.RemoteThreadsListenerTestElement by wrapper: class org.apache.jmeter.threads.RemoteThreadsListenerWrapper java.rmi.RemoteException: Cannot start. yout-pc-name is a loopback address.

然后通过以下命令启动jmeter:

./jmeter -Djava.rmi.server.hostname=your_ip_address