我能够通过在轮询器上使用错误通道来处理和报告imap和pop适配器的连接/身份验证相关错误。
我也有一个用于imap-idle,但它没有在该频道上收到这些错误,只在日志中发出警告。
处理和报告电子邮件空闲适配器的类似错误的方法是什么?
答案 0 :(得分:0)
我猜你的意思是代码的和平:
catch (Exception e) { //run again after a delay
logger.warn("Failed to execute IDLE task. Will attempt to resubmit in " + ImapIdleChannelAdapter.this.reconnectDelay + " milliseconds.", e);
ImapIdleChannelAdapter.this.receivingTaskTrigger.delayNextExecution();
ImapIdleChannelAdapter.this.publishException(e);
}
您在日志中看到WARN
。
请注意关于publishException()
的最新信息。这是代码:
private void publishException(Exception e) {
if (this.applicationEventPublisher != null) {
this.applicationEventPublisher.publishEvent(new ImapIdleExceptionEvent(e));
}
因此,您需要为EventListener
添加ImapIdleExceptionEvent
。例如,您可以使用ApplicationEventListeningMessageProducer。