2012-11-14 38 views
2


我配置的入站通道適配器來接收郵件和我建立了一個輪詢與固定延遲郵件入站通道適配器= 15000
當MAX-消息 - 每次輪詢設置爲低值(小於郵箱文件夾中的郵件數量),觸發器每15秒正確觸發一次。
但是,如果max-messages-per-poll設置爲較高值,則每隔大約2秒調用一次Pop3MailReceiver,並且不考慮固定延遲或cron設置。
我的錯在哪裏?
在此先感謝您的幫助。
Spring集成 - 延遲輪詢不考慮

<util:properties id="javaMailProperties"> 
    <prop key="mail.pop3.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop> 
    <prop key="mail.pop3.socketFactory.fallback">false</prop> 
    <prop key="mail.store.protocol">pop3s</prop> 
</util:properties> 

<mail:inbound-channel-adapter id="mailAdapter" 
       store-uri="pop3s://xxxxxxxxxx%40xxxxxxxxx.xxxxx:[email protected]:xxx/inbox" 
       channel="receiveEmailChannel" 
       should-delete-messages="false" 
       java-mail-properties="javaMailProperties" 
       auto-startup="false"> 
     <int:poller max-messages-per-poll="10" fixed-delay="15000"/> 
</mail:inbound-channel-adapter> 

<int:control-bus input-channel="receiveEmailChannel"/> 

<int:channel id="receiveEmailChannel"> 
    <int:interceptors> 
     <int:wire-tap channel="logger"/> 
    </int:interceptors> 
</int:channel> 

<int:logging-channel-adapter id="logger" level="DEBUG"/> 

<int:service-activator input-channel="receiveEmailChannel" ref="mailNotificationDetector" method="receive"/> 

回答

1

documentation聽起來這是預期的行爲,投票將反覆做,直到最大的消息每民調數字是滿意的。

所以,當你有一個低最大的消息每民意調查中,這個數字是由這可能得到相當迅速完成了幾個投票站通話滿意,你可以看到一個乾淨的固定延遲通話。當您每次輪詢最高消息數時,可能需要相當多的輪詢呼叫才能滿足每輪詢問最多消息數。