我为 IMAPFolder 设置了 MessageCountListener。为了不断获得更新,我必须执行以下操作,这对我的应用程序性能来说是一个杀手。它冻结了 GUI,因为它正在为每个文件夹运行。
while (true) {
try {
if (folder != null && folder.isOpen()) {
folder.idle();
} else {
getSyncListenersAttachedFolders().remove(syncFolder.getFolderID());
}
} catch (Exception ex) {
errorLOG.error("IDLE command issue exception.");
getSyncListenersAttachedFolders().remove(syncFolder.getFolderID());
}
}
有没有更好的方法来发出不会在一段时间(真)条件下运行的空闲命令。期待快速响应。提前致谢。