javamail中的messageAdded()方法不起作用

javamail中的messageAdded()方法不起作用,java,service,jakarta-mail,imap,Java,Service,Jakarta Mail,Imap,我已经实现了Javamail API提供的messageAdded方法,我的程序没有进入该方法。这是我的密码 public void addMessageListenerToFolder(Folder folder, EmailFolderBean<String> item) { System.out.println("Add message listener point 1"); folder.addMessageCountListener(new MessageC

我已经实现了
Javamail API
提供的
messageAdded
方法,我的程序没有进入该方法。这是我的密码

public void addMessageListenerToFolder(Folder folder, EmailFolderBean<String> item) {
    System.out.println("Add message listener point 1");
    folder.addMessageCountListener(new MessageCountAdapter() {

        public void messageAdded(MessageCountEvent e) {
            for (int i = 0; i < e.getMessages().length; i++) {
                try {
                    System.out.println("Add message listener point 2");
                    Message currentMsg = folder.getMessage(folder.getMessageCount() - i);
                    item.addEmail(0, currentMsg);
                } catch (MessagingException ex) {
                    Logger.getLogger(FetchFolderService.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
    });
}
这是调试信息

Deleting: C:\Users\Inzimam\Documents\NetBeansProjects\Mail Client\build\built-jar.properties
deps-jar:
Updating property file: C:\Users\Inzimam\Documents\NetBeansProjects\Mail Client\build\built-jar.properties
Compiling 1 source file to C:\Users\Inzimam\Documents\NetBeansProjects\Mail Client\build\classes
compile-single:
Successful Authentication!
Folder: INBOX
Folder: [Gmail]
subFolder: All Mail
subFolder: Drafts
subFolder: Important
subFolder: Sent Mail
subFolder: Spam
subFolder: Starred
subFolder: Trash
Checking for Emails!!!!
Checking for Emails!!!!
Checking for Emails!!!!
Checking for Emails!!!!
Checking for Emails!!!!
Checking for Emails!!!!
Checking for Emails!!!!
debug-single:
BUILD SUCCESSFUL (total time: 1 minute 54 seconds)

只有当服务器通知客户端(JavaMail)已添加消息时,才会调用侦听器,并且只有当您向服务器发出命令(例如folder.getMessageCount())时,才会发生此类通知。或者,如果您只想等待通知,可以使用。另请参见。

上面的代码中有一个打字错误。我使用了
messageAdded()
但javamail提供了
messagesAdded()
方法。因此,使用正确的拼写和
覆盖
注释,现在一切都很好。

感谢您的回复。我忘了提到我有一个服务总是在send
文件夹后面运行命令每10秒。每10秒?那太过分了;)当新消息到达时,屏幕显示什么?你用的是什么服务器?最终,您将取决于服务器通知客户机新消息的速度。显然,我假设您使用的是IMAP,而不是POP3。@BillShannon是的,我使用的是IMAP。我在问题中添加了更多信息,请看一下。它仍然缺少JavaMil调试输出。
Deleting: C:\Users\Inzimam\Documents\NetBeansProjects\Mail Client\build\built-jar.properties
deps-jar:
Updating property file: C:\Users\Inzimam\Documents\NetBeansProjects\Mail Client\build\built-jar.properties
Compiling 1 source file to C:\Users\Inzimam\Documents\NetBeansProjects\Mail Client\build\classes
compile-single:
Successful Authentication!
Folder: INBOX
Folder: [Gmail]
subFolder: All Mail
subFolder: Drafts
subFolder: Important
subFolder: Sent Mail
subFolder: Spam
subFolder: Starred
subFolder: Trash
Checking for Emails!!!!
Checking for Emails!!!!
Checking for Emails!!!!
Checking for Emails!!!!
Checking for Emails!!!!
Checking for Emails!!!!
Checking for Emails!!!!
debug-single:
BUILD SUCCESSFUL (total time: 1 minute 54 seconds)