我有一个snmpTrapListener类,一旦开始继续监听端口162的snmp陷阱,现在我希望它终止或停止监听但这应该从另一个类完成(实际上我正在使用其他类的shutdown hook来阻止这个)。怎么做?
答案 0 :(得分:0)
你需要暴露一个公共的“停止”方法,所以你可以从你想要终止监听的其他类中调用它......确切的“终止”代码可以隐藏在私有方法中,但是“停止” “方法需要公开。
至于“如何使类本身对其他类可见”,请考虑将端口侦听器注册为终止类的侦听器,以便终止类可以调用上述公共类。
答案 1 :(得分:0)
您需要公开可以通过线程中断调用的函数。 可以在http://10kloc.wordpress.com/2013/12/24/cancelling-tasks-in-executors/
找到一些示例