複数のjpa:inbound-channel-adapterを使用しようとしています。しかし、私は問題があります。 2つのインバウンドチャネルアダプターを追加すると、最後のアダプターのみが動作します。たとえば、今はxとyと呼ばれる2つのインバウンドチャネルがあります。最初にxとyをapplication.xmlファイルに書き込むと、yだけが動作します。最初にyを書くと、xのみxが働きます。ここで、XML構成、Spring jpa:インバウンドチャネルアダプタの設定
<int:channel id="emailChannel" />
<int-jpa:inbound-channel-adapter
channel="emailChannel" entity-manager-factory="entityManagerFactory"
auto-startup="true"
jpa-query="select slt from Email slt where slt.mailStatus = 'NEW'"
expect-single-result="false" delete-after-poll="false">
<int:poller fixed-rate="10000" >
<int:transactional propagation="REQUIRED"
transaction-manager="transactionManager" />
</int:poller>
</int-jpa:inbound-channel-adapter>
<int:service-activator input-channel="emailChannel" ref="EmailSenderEndPoint" method="sendEmail" />
<int:channel id="msgChannel" />
<int-jpa:inbound-channel-adapter
channel="msgChannel" entity-manager-factory="entityManagerFactory"
auto-startup="true"
jpa-query="select rm from Msg rm where rm.isApproved= '1' "
expect-single-result="false" delete-after-poll="false">
<int:poller fixed-rate="30000">
<int:transactional propagation="REQUIRED"
transaction-manager="transactionManager" />
</int:poller>
</int-jpa:inbound-channel-adapter>
<int:service-activator input-channel="msgChannel" ref="MsgSenderEndPoint" method="sendMsg" />
は、上記の例であり、唯一msgChannel作品。しかし、以下のように変更すると、emailChannelだけが動作します。
<int:channel id="msgChannel" />
<int-jpa:inbound-channel-adapter
channel="msgChannel" entity-manager-factory="entityManagerFactory"
auto-startup="true"
jpa-query="select rm from Msg rm where rm.isApproved= '1' "
expect-single-result="false" delete-after-poll="false">
<int:poller fixed-rate="30000">
<int:transactional propagation="REQUIRED"
transaction-manager="transactionManager" />
</int:poller>
</int-jpa:inbound-channel-adapter>
<int:service-activator input-channel="msgChannel" ref="MsgSenderEndPoint" method="sendMsg" />
<int:channel id="emailChannel" />
<int-jpa:inbound-channel-adapter
channel="emailChannel" entity-manager-factory="entityManagerFactory"
auto-startup="true"
jpa-query="select slt from Email slt where slt.mailStatus = 'NEW'"
expect-single-result="false" delete-after-poll="false">
<int:poller fixed-rate="10000" >
<int:transactional propagation="REQUIRED"
transaction-manager="transactionManager" />
</int:poller>
</int-jpa:inbound-channel-adapter>
<int:service-activator input-channel="emailChannel" ref="EmailSenderEndPoint" method="sendEmail" />
問題が何かを理解できません。私たちを手伝ってくれますか?
編集:問題を解決しました。私はサービスアクチベータクラスにインターフェイスを追加し、問題は解決しました。
Spring Integrationバージョンとは何ですか? –