如何中断IMAP的IDLE?
我正在使用连接到我的IMAP服务器的Javamail API。 使用javax.mail.Folder.idle() 方法,一切都运行良好。 当有新邮件进入时,我的监听器会被调用。但问题是永远是空闲块,我该如何打断它? 如何在不杀死Java程序的情况下实际停止监听?
我试过在idle’d线程上调用Thread.interrupt()。 什么都没发生。 我的想法已经不多了。
对该文件夹(来自另一个线程)执行任何操作将导致idle()
方法立即返回。 因此,如果您想强行中断它,只需从新线程调用close()
。
如果您正确阅读文档并阅读源代码,您将意识到必须创建一个用于调用.idle()
的新线程。
将该线程分配给变量,并且只要您想在该线程上调用interrupt()
,或者只是忽略通知!
如果你需要再次进入idle()
,只需重新运行该线程!
我创造了类似的东西,所以你可能想看看它。
祝好运