0

我有一个非常相似的要求,就像这里提到的一样,但是我使用 Imap 如下我的 spring-integration 版本是 1.0.4:

<mail:inbound-channel-adapter id="imapAdapter"
                                      store-uri="imaps://user:pass@domain: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-integration 1.0.4 中是否支持事务?

4

2 回答 2

1

相同的答案 - 邮件服务器不支持事务。

于 2012-12-31T10:07:08.883 回答
1

如文档中所述,事务轮询器不会使固有的非事务性资源具有事务性。如果使用上游资源(例如使用 JDBC),则事务以轮询启动,并在线程完成工作时提交。

从 2.2.0 开始,邮件轮询器上的事务元素允许您将某些操作与此类事务同步。例如,这允许您在事务提交时删除电子邮件,但在事务回滚时将其保留在邮箱中。

同样,这不会使邮件具有事务性。

于 2012-12-31T15:12:06.807 回答