私の現在の設定は(部分的に)次のようになっています:
<channel id="chainInboundChannel">
<queue message-store="mongoDbMessageStore"/>
</channel>
<chain id="myChain" input-channel="chainInboundChannel">
<service-activator ref="service1" ... />
<service-activator ref="service2" ... />
<service-activator ref="service3" ... />
<service-activator ref="service4" ... />
</chain>
おそらく私のメッセージは今も残っています。これは、メッセージがキューにある間は当てはまるようです。ただし、メッセージがチェーンによって受信されると、メッセージストアから削除されます。したがって、メッセージが「service3」などによって処理されている間にアプリケーションがシャットダウンすると、メッセージは単に失われます。
チェーン内でメッセージが処理されている間、メッセージを永続化するにはどうすればよいですか?
オプション: 特定のシナリオでサービスのいずれかがnullを返す場合はどうなりますか?この場合、メッセージはライフサイクルが終了したため、削除する必要があります。