Multithreading 在AbstractJavaSamplerClient自定义代码中使用socket.io-java-client库时,Thread.Sleep会导致JMeter中出现异常
我为JMeter实现了一个定制的AbstractJavaSampler客户端,核心运行测试如下:Multithreading 在AbstractJavaSamplerClient自定义代码中使用socket.io-java-client库时,Thread.Sleep会导致JMeter中出现异常,multithreading,concurrency,jmeter,Multithreading,Concurrency,Jmeter,我为JMeter实现了一个定制的AbstractJavaSampler客户端,核心运行测试如下: SampleResult results = new SampleResult(); results.sampleStart(); client.request("connector.ninjaHandler.savemove", opMsg, this); while(optcode == null){ try { Thread.sleep(10); } catc
SampleResult results = new SampleResult();
results.sampleStart();
client.request("connector.ninjaHandler.savemove", opMsg, this);
while(optcode == null){
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
results.sampleEnd();
results.setSuccessful(optcode);
但是,我发现Thread.sleep()
会导致这样的异常:
未捕获异常java.lang.IllegalStateException:计时器已取消。。有关详细信息,请参阅日志文件
我在谷歌上搜索,人们说thread.sleep会导致计时器失灵。但是,我无法避免它,因为我正在测试一个web套接字服务器,这意味着我需要等待服务器响应返回…(如果我删除thread.sleep-between-sample start/end,它运行正常)
但是,示例testorg.apache.jmeter.protocol.java.test.SleepTest
运行良好,它使用了thread.sleep
有什么建议吗?这很可笑,因为我发现问题来自我使用的库…
从中修复修补程序后,它就可以工作了 强制性链接:你应该接受你自己的答案,这样有助于others@PMDUBIK-谢谢你的提醒~