繁体   English   中英

Applet无法使用JRE 6u25

[英]Applet not working on JRE 6u25

我有一个小程序连接到一个设备,并获得它的参数throgh SNMP协议。 它在JRE 6u20上工作正常,但在将JRE更新到6u25后效果不佳。

在6月20日检索设备参数需要几秒钟,但是在6u25它需要更多,最后大多数参数都没有被检索。

有一个SwingWorker用于读取每个参数,我使用这个Java SNMP包

这些版本的JRE之间的差异是什么? 如何找出导致问题的原因?

最后我想出了问题所在。 Java SNMP包 GetRequest不是线程安全的。 在JRE 6u20上没有问题,因为JRE 6u20中的SwingWorker默认线程池只有一个工作线程,但在JRE 6u25中,工作线程数为10

SwingWorker.MAX_WORKER_THREADS = 10;

通过在SNMP get request方法中添加“ synchronized ”关键字,问题就解决了。

synchronized public SNMPVarBindList getMIBEntry(String itemID)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM