使用imap-idle-channel-adapter时如何处理连接/身份验证错误

时间:2017-06-08 20:40:27

标签: spring-integration

我能够通过在轮询器上使用错误通道来处理和报告imap和pop适配器的连接/身份验证相关错误。

我也有一个用于imap-idle,但它没有在该频道上收到这些错误,只在日志中发出警告。

处理和报告电子邮件空闲适配器的类似错误的方法是什么?

1 个答案:

答案 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