gpt4 book ai didi

amazon-web-services - Spring Integration Pop3MailReceiver 停止静默轮询而不记录原因

转载 作者:行者123 更新时间:2023-12-04 08:10:20 36 4
gpt4 key购买 nike

问题

我有一个非常基本的 Spring 集成邮件适配器设置配置(以下是相关示例):

<int:channel id="emailChannel">        
<int:interceptors>
<int:wire-tap channel="logger"/>
</int:interceptors>
</int:channel>

<mail:inbound-channel-adapter id="popChannel"
store-uri="pop3://user:password@domain.net/INBOX"
channel="emailChannel"
should-delete-messages="true"
auto-startup="true">
<int:poller max-messages-per-poll="1" fixed-rate="30000"/>
</mail:inbound-channel-adapter>

<int:logging-channel-adapter id="logger" level="DEBUG"/>

<int:service-activator input-channel="emailChannel" ref="mailResultsProcessor" method="onMessage" />

这在大多数情况下运行良好,我可以看到显示轮询的日志(当有邮件时,它可以很好地连接到我的 mailResultsProcessor):
2013-08-13 08:19:29,748 [task-scheduler-3] DEBUG org.springframework.integration.mail.Pop3MailReceiver - opening folder [pop3://user:password@fomain.net/INBOX]
2013-08-13 08:19:29,796 [task-scheduler-3] INFO org.springframework.integration.mail.Pop3MailReceiver - attempting to receive mail from folder [INBOX]
2013-08-13 08:19:29,796 [task-scheduler-3] DEBUG org.springframework.integration.mail.Pop3MailReceiver - found 0 new messages
2013-08-13 08:19:29,796 [task-scheduler-3] DEBUG org.springframework.integration.mail.Pop3MailReceiver - Received 0 messages
2013-08-13 08:19:29,893 [task-scheduler-3] DEBUG org.springframework.integration.endpoint.SourcePollingChannelAdapter - Received no Message during the poll, returning 'false'

我遇到的问题是轮询在白天停止,日志中没有指示它停止工作的原因。我能说的唯一原因是上面的调试没有出现在日志和电子邮件帐户中建立的电子邮件中。

问题
  • 有没有人以前见过这个并知道如何解决它?
  • 是否可以在我的配置中进行更改以将问题捕获到日志中?我认为设置为调试的日志 channel 适配器会涵盖这一点。

  • 在 Tomcat 7 上使用 Spring Integration 的 2.2.3.RELEASE 版本,日志输出默认为 catalina.out。部署在 AWS 标准 tomcat 7 实例上。

    最佳答案

    轮询线程很可能卡在上游的某个地方。根据您的配置,在当前轮询完成之前不会进行下一次轮询。

    您可以使用 jstack 或 VisualVM 获取线程转储以了解线程在做什么。

    另一种可能性是您正在遭受轮询线程饥饿 - 如果您的应用程序中有很多其他轮询元素,并且取决于它们的配置。默认taskScheduler bean 只有 10 个线程。

    您可以在 <poller/> 中添加任务执行器所以每个轮询都被移交给另一个线程,但请注意,如果轮询任务的执行时间比轮询速率长,则可能会导致并发轮询。

    关于amazon-web-services - Spring Integration Pop3MailReceiver 停止静默轮询而不记录原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18204384/

    36 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com