2012-12-31 99 views
0

我喜歡在here提到一個非常類似的要求,但我使用IMAP如下我的版本彈簧集成的是1.0.4:事務IMAP郵箱訪問Spring集成

<mail:inbound-channel-adapter id="imapAdapter" 
             store-uri="imaps://user:[email protected]:993/inbox"          
             channel="recieveEmailChannel" 
             auto-startup="true"          
             java-mail-properties="javaMailProperties"> 
     <int:poller> 
     <int:interval-trigger initial-delay="1000" interval="2000" 
     fixed-rate="true"/> 
     <int:transactional transaction-manager="transactionManager" propagation="REQUIRED"/> 
     </int:poller> 
    </mail:inbound-channel-adapter> 
<int:channel id="recieveEmailChannel" />   
<int:service-activator input-channel="recieveEmailChannel" ref="emailReceiverService" method="receive"/> 
<bean id="emailReceiverService" class="com.mydomain.email.in.DefaultEmailReceiverUtilService"> 
</bean> 

問題 Imap支持Spring集成1.0.4中的事務嗎?

回答

1

正如文檔中所述,事務性輪詢器不會使事務性的非事務性資源事務。如果使用上游資源(如使用JDBC),則事務將以輪詢啓動並在線程完成其工作時提交。

從2.2.0開始,郵件輪詢器上的事務元素允許您使用此類事務同步某些操作。例如,這允許您在事務提交時刪除電子郵件消息,但如果它回滾則將其留在郵箱中。

再次,這不會使郵件事務。

1

相同的答案 - 郵件服務器不支持交易。

+0

是否有任何可用的選項,如你在另一個線程中提到的「你需要實現自己的事務資源來包裝郵件服務器 - 事務/意向日誌,故障恢復等等,怎麼做? – Mahendran

+0

可能有人已經這樣做了,但我沒有意識到。 –