0

ここに記載されているものと非常によく似た要件がありますが、次のようにImapを使用しています。私のバージョンのスプリング統合は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-integration1.0.4でトランザクションをサポートしていますか?

4

2 に答える 2

1

ドキュメントに記載されているように、トランザクション ポーラーは、本質的に非トランザクション リソースをトランザクション対応にはしません。アップストリーム リソース (JDBC など) が使用されている場合、トランザクションはポーリングで開始され、スレッドが作業を完了するとコミットされます。

2.2.0 から、メール ポーラーのトランザクション要素を使用すると、一部のアクションをそのようなトランザクションと同期させることができます。これにより、たとえば、トランザクションがコミットされた場合は電子メール メッセージを削除し、ロールバックされた場合はメールボックスに残すことができます。

繰り返しますが、これはメールをトランザクション化しません。

于 2012-12-31T15:12:06.807 に答える
1

同じ答え - メール サーバーはトランザクションをサポートしていません。

于 2012-12-31T10:07:08.883 に答える