从 snmp4j.2.5.8 升级到 snm4j.2.6.3 后,我面临一个新问题。应用程序启动后有时不会收听陷阱
After upgrading to snm4j.2.6.3 from snmp4j.2.5.8 I am facing a new issue. Traps are not listened sometimes after the start of application
从 snmp4j.2.5.8 升级到 snm4j.2.6.3 后,我遇到了一个新问题。应用程序启动后有时不会收听陷阱,一旦应用程序重新启动,陷阱就会像往常一样收听。在此问题期间,陷阱在客户端服务器的端口 162(陷阱接收进程)上接收,但未在 snmp4j 的 'processPdu' 接口 'CommandResponderEvent' 覆盖方法处接收。同一段代码在 snmp4j.2.5.8 上运行良好,没有任何问题。
尝试使用更高版本的 snmp4j.2.7.0 和 snmp4j.2.8.0 但是陷阱本身没有被监听但是当我在陷阱接收进程 运行 端口 162 上使用 tcpdump 时,陷阱正在到达客户端服务器但是未被 snmp4j 监听。
注意:我正在使用 MultithreadedMessageDispatcher
我想知道是否有人在使用 snmp4j.2.6.3、snmp4j.2.7.0 和 snmp4j.2.8.0 版本时遇到过同样的问题,您是如何解决这个问题的?
提前致谢!
当这个问题发生时,即在我使用 jstack 命令获取 java 线程转储后一段时间后没有监听陷阱时。 org.snmp4j.transport.DefaultUdpTransportMapping 的 'DefaultUDPTransportMapping_0.0.0.0/162' 上有一个线程 DEADLOCK,使用 org.snmp4j.util.ThreadPool 创建的线程池中的一些线程处于 "BLOCKED" 状态。为处理陷阱而创建的线程在没有任何进一步处理的情况下保持阻塞状态。
我已将上述详细信息分享给 SNMP4J 团队并得到 Frank Fock 的确认,称 SNMP4J 2.6.3 ThreadPool class 中存在错误,已在更高版本中修复。
希望这可以帮助其他使用 SNMP4J 2.6.3 版本并面临同样问题的人。
从 snmp4j.2.5.8 升级到 snm4j.2.6.3 后,我遇到了一个新问题。应用程序启动后有时不会收听陷阱,一旦应用程序重新启动,陷阱就会像往常一样收听。在此问题期间,陷阱在客户端服务器的端口 162(陷阱接收进程)上接收,但未在 snmp4j 的 'processPdu' 接口 'CommandResponderEvent' 覆盖方法处接收。同一段代码在 snmp4j.2.5.8 上运行良好,没有任何问题。
尝试使用更高版本的 snmp4j.2.7.0 和 snmp4j.2.8.0 但是陷阱本身没有被监听但是当我在陷阱接收进程 运行 端口 162 上使用 tcpdump 时,陷阱正在到达客户端服务器但是未被 snmp4j 监听。
注意:我正在使用 MultithreadedMessageDispatcher
我想知道是否有人在使用 snmp4j.2.6.3、snmp4j.2.7.0 和 snmp4j.2.8.0 版本时遇到过同样的问题,您是如何解决这个问题的?
提前致谢!
当这个问题发生时,即在我使用 jstack 命令获取 java 线程转储后一段时间后没有监听陷阱时。 org.snmp4j.transport.DefaultUdpTransportMapping 的 'DefaultUDPTransportMapping_0.0.0.0/162' 上有一个线程 DEADLOCK,使用 org.snmp4j.util.ThreadPool 创建的线程池中的一些线程处于 "BLOCKED" 状态。为处理陷阱而创建的线程在没有任何进一步处理的情况下保持阻塞状态。
我已将上述详细信息分享给 SNMP4J 团队并得到 Frank Fock 的确认,称 SNMP4J 2.6.3 ThreadPool class 中存在错误,已在更高版本中修复。
希望这可以帮助其他使用 SNMP4J 2.6.3 版本并面临同样问题的人。