我有一个spring集成模块,我在其中配置了一个imap-idle-channel-adapter
<mail:imap-idle-channel-adapter id="fetch-email-channel-adapter" store-uri="${common.mail.imapScheme}://${common.mail.imapHost}:${common.mail.imapPort}/INBOX"
channel="fetch-email-channel" should-delete-messages="false" should-mark-messages-as-read="true" authenticator="imapAuthenticator" auto-startup="${common.mail.autostart}"
error-channel="errorChannel" />
现在,当模块重新启动几次时,我收到以下错误
[task-scheduler-9] WARN [ImapIdleChannelAdapter] - error occurred in idle task
javax.mail.AuthenticationFailedException: [ALERT] Too many simultaneous connections. (Failure)
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:665)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at org.springframework.integration.mail.AbstractMailReceiver.openSession(AbstractMailReceiver.java:203)
at org.springframework.integration.mail.AbstractMailReceiver.openFolder(AbstractMailReceiver.java:208)
at org.springframework.integration.mail.ImapMailReceiver.waitForNewMessages(ImapMailReceiver.java:105)
at org.springframework.integration.mail.ImapIdleChannelAdapter$IdleTask.run(ImapIdleChannelAdapter.java:197)
at org.springframework.integration.mail.ImapIdleChannelAdapter$ReceivingTask.run(ImapIdleChannelAdapter.java:169)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53)
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
2015-06-06 00:00:00,221 [task-scheduler-9] WARN [ImapIdleChannelAdapter] - Failed to execute IDLE task. Will attempt to resubmit in 10000 milliseconds.
java.lang.IllegalStateException: Failure in 'idle' task. Will resubmit.
at org.springframework.integration.mail.ImapIdleChannelAdapter$IdleTask.run(ImapIdleChannelAdapter.java:216)
at org.springframework.integration.mail.ImapIdleChannelAdapter$ReceivingTask.run(ImapIdleChannelAdapter.java:169)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53)
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.mail.AuthenticationFailedException: [ALERT] Too many simultaneous connections. (Failure)
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:665)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at org.springframework.integration.mail.AbstractMailReceiver.openSession(AbstractMailReceiver.java:203)
at org.springframework.integration.mail.AbstractMailReceiver.openFolder(AbstractMailReceiver.java:208)
at org.springframework.integration.mail.ImapMailReceiver.waitForNewMessages(ImapMailReceiver.java:105)
at org.springframework.integration.mail.ImapIdleChannelAdapter$IdleTask.run(ImapIdleChannelAdapter.java:197)
... 11 more
我已经找到了如何使用Javamail api关闭连接但是如何使用imap-idle-channel-adapter
使用以下春季版
spring-integration-mail:2.2.3.RELEASE
答案 0 :(得分:1)
我建议您升级到(更多)更新版本以查看它是否可以解决问题。 IMAP邮件组件有一些错误修复。如果你不能升级到最新的(4.1.5),我建议至少3.0.7。
咨询migration guides以确定您可能需要考虑的任何更改。