2012-12-31 139 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

可能有人已经这样做了,但我没有意识到。 –