[英]how to change mule's imap mail fetch order?
我有一個IMAP連接,可以使用Mule獲取電子郵件。 我遇到了一個問題。
這是我的兩個簡單要求:
我正在查看m子(3.3.1)使用的代碼:org.mule.transport.email.RetrieveMessageReceiver.poll()。
該代碼似乎正在從消息1中獲取消息。
348: Message[] messages = folder.getMessages(1, batchSize);
此處獲取的消息將在以下循環中處理:
org.mule.transport.email.RetrieveMessageReceiver.message☎聯系人(MessageCountEvent)
142: if (!messages[i].getFlags().contains(Flags.Flag.DELETED)
143: && !messages[i].getFlags().contains(Flags.Flag.SEEN))
整個邏輯所要做的是,它試圖讀取OLD未讀消息。 該代碼返回到第348行並執行
folder.getMessages(1, batchSize);
再次,並獲得相同的消息,並繼續等待。 如何更改獲取順序。
僅供參考:使用MS Exchange for IMAP
不確定為什么您說Mule嘗試閱讀“舊的未讀郵件”? 它實際上只是嘗試讀取未讀的消息,即不刪除也不看。
無論如何,理論上對消息進行排序的Mulesque方法將是使用resequencer 。 不幸的是,郵件消息接收者沒有設置任何必需的控件屬性,以使Mule可以單批處理接收到的消息,從而無法正常工作。
因此,我唯一想到的解決方案是擴展org.mule.transport.email.RetrieveMessageReceiver
並使用<service-overrides />
子元素在IMAP連接器上注冊您的自定義版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.