我使用String Integration DSL邮件从POP3s邮件服务器接收电子邮件。几个小时后,我看到轮询器停止轮询邮件服务器,不处理电子邮件。我可以登录邮件服务器,看到电子邮件是他们在邮件服务器中。您能否请回顾下面的内容,让我知道这里有什么不正确的
@Bean
public IntegrationFlow emailFlow() {
return IntegrationFlows
.from(Mail.pop3InboundAdapter(config.getMailUri())
.javaMailProperties(p ->
emailInflowConfiguration.javaMailProperties(p))
.embeddedPartsAsBytes(true).maxFetchSize(1)
.shouldDeleteMessages(true)
.javaMailAuthenticator(config.mailAuthenticator()),
e -> e.autoStartup(true)
.poller(p -> p.fixedDelay(5000,
1000)))
.channel(MessageChannels.direct("pop3Channel"))
.handle("pop3Handler", "handleMessage")
.get();
}
答案 0 :(得分:0)
我们需要查看线程转储来确定等待的线程和位置。
当有一个组件等待回复时,通常线程池已经耗尽,但是没有来自下游的组件。您的代码段不太可能。所以,我们肯定需要更多信息。例如,pop3Handler
做了什么?