使用Apache Camel,我每15分钟获取一个电子邮件收件箱,并将电子邮件正文路由到休息端点。一切都在发挥作用。 这是我的Poller声明:
{{1}}
现在我需要做的是,如果没有提取任何消息(因为没有收到新的电子邮件),我想记录一条消息.. 如何检查是否提取了0消息? 谢谢:))
答案 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");