0

我为 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());
     }
}

有没有更好的方法来发出不会在一段时间(真)条件下运行的空闲命令。期待快速响应。提前致谢。

4

1 回答 1

1

您需要在自己的线程中运行它。

于 2013-02-22T19:22:23.840 回答