JMeter添加bzm-Parallel Controller后出现ClassCastException异常求助
解决JMeter 5.6.2 + Java 17下bzm - Parallel Controller的ClassCastException异常
问题场景
使用JMeter 5.6.2和Java 17.0.8 LTS版本,在线程组中添加bzm - Parallel Controller后触发以下异常:
ERROR o.a.j.t.JMeterThread: Error while processing sampler: 'bzm - Parallel Controller'. java.lang.ClassCastException: class java.util.IdentityHashMap cannot be cast to class java.util.HashMap (java.util.IdentityHashMap and java.util.HashMap are in module java.base of loader 'bootstrap') at com.blazemeter.jmeter.controller.JMeterThreadParallel.cloneTestCompiler(JMeterThreadParallel.java:45) ~[jmeter-parallel-0.11.jar:?] at com.blazemeter.jmeter.controller.JMeterThreadParallel.copyCompilerFromParent(JMeterThreadParallel.java:36) ~[jmeter-parallel-0.11.jar:?] at com.blazemeter.jmeter.controller.JMeterThreadParallel.<init>(JMeterThreadParallel.java:26) ~[jmeter-parallel-0.11.jar:?] at com.blazemeter.jmeter.controller.ParallelSampler.sample(ParallelSampler.java:71) ~[jmeter-parallel-0.11.jar:?] at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651) ~[ApacheJMeter_core.jar:5.6.2] at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570) ~[ApacheJMeter_core.jar:5.6.2] at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501) [ApacheJMeter_core.jar:5.6.2] at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268) [ApacheJMeter_core.jar:5.6.2] at java.lang.Thread.run(Thread.java:833) [?:?]
已尝试更换Java版本但问题未解决,以下是可行修复方案:
修复方案
1. 升级bzm - Parallel Controller到兼容版本
你当前使用的jmeter-parallel-0.11.jar版本过旧,不兼容JMeter 5.6.2和Java 17。旧版本代码中存在强制将IdentityHashMap转换为HashMap的逻辑,而JMeter 5.x+在Java 17环境下内部已改用IdentityHashMap存储测试编译信息,导致类型转换失败。
- 通过JMeter的Plugins Manager搜索
Parallel Controller,安装最新稳定版; - 安装完成后重启JMeter,重新运行测试。
2. 手动替换插件JAR包(若插件管理器无法更新)
- 找到JMeter安装目录下的
lib/ext文件夹,删除旧的jmeter-parallel-0.11.jar; - 获取适配JMeter 5.6.2和Java 17的Parallel Controller JAR包,将其放入
lib/ext目录; - 重启JMeter后验证问题是否解决。
3. 确认版本兼容性
确保安装的Parallel Controller版本明确标注支持JMeter 5.6.2及Java 17,部分旧版本仅兼容JMeter 5.4以下版本或Java 11及更低版本。
内容的提问来源于stack exchange,提问作者Дмитрий Дубовик
相关产品推荐
相关产品推荐

