如果没有提取消息,Apache骆驼邮件检查

时间:2015-12-28 17:02:37

标签: email apache-camel message fetch

使用Apache Camel,我每15分钟获取一个电子邮件收件箱,并将电子邮件正文路由到休息端点。一切都在发挥作用。 这是我的Poller声明:

{{1}}

现在我需要做的是,如果没有提取任何消息(因为没有收到新的电子邮件),我想记录一条消息.. 如何检查是否提取了0消息? 谢谢:))

1 个答案:

答案 0 :(得分:0)

您可以使用 sendEmptyMessageWhenIdle 选项

  

Camel 2.9:如果民意调查消费者没有轮询任何文件,你可以   启用此选项可以发送空消息(无正文)。

http://camel.apache.org/polling-consumer.html(pop3和imap是预定的民意调查组件)

    from(mailServer + "?" +
        "username=" + mailUsername + "&" +
        "password=" + mailPassword + "&" +
        "consumer.delay=" + EVERY_15_MINUTES+
        "&sendEmptyMessageWhenIdle=true")
        .routeId("mainPoller")
        .filter(exchange -> exchange.getIn().getHeader("subject", StringUtils.EMPTY, String.class).contains(mailSubject))
        .to("activemq:send.details");