6.4 および 6.5 間の変更
一般的な変更
以前非推奨だった org.springframework.util.concurrent.ListenableFuture の使用は削除され、代わりに CompletableFuture が採用されました。
以前非推奨だった SpEL ベースのコントロールバスコンポーネントは、ControlBusCommandRegistry 関連の機能を優先して削除されました。<control-bus use-registry=""> 属性は、ControlBusCommandRegistry 機能のみが使用可能であるため、代替なしで非推奨になりました。Java DSL controlBusOnRegistry() 演算子は、ControlBusCommandRegistry に完全に基づく復元された controlBus() を優先して非推奨になりました。詳細については、制御バスを参照してください。
AbstractCorrelatingMessageHandler は、MessageGroupProcessor の結果としてのペイロードのコレクションに対して IllegalArgumentException をスローしません。代わりに、そのようなコレクションは単一の応答メッセージにラップされます。詳細については、アグリゲーターを参照してください。
実行されていないアプリケーションにメッセージを送信しようとすると、AbstractMessageChannel Bean は特別な MessageDispatchingException をスローするようになりました。
一般的に、afterPropertiesSet()、@PostConstruct、Bean 定義メソッドからメッセージを生成しようとするのは設計上の誤りです。この種のロジックには SmartLifecycle.start() が推奨されますが、受信チャネルアダプター経由で行う方が適切です。
Java DSL gateway() 演算子が async(true) 動作を完全にサポートするようになりました。詳しくはメッセージングゲートウェイを参照してください。
LockRequestHandlerAdvice
メッセージハンドラー呼び出しのリクエストメッセージに基づいてキーのロックを保持するための新しい LockRequestHandlerAdvice が導入されました。詳細については、エンドポイントへの動作の追加を参照してください。
相関ハンドラーの discardIndividuallyOnExpiry オプション
アグリゲータとリシーケンサは、discardIndividuallyOnExpiry を false に設定することで、期限切れのグループ全体を 1 つのメッセージとして破棄できるようになりました。詳細については、ReleaseStrategy を参照してください。
MessageStore の LockRegistry
AbstractMessageGroupStore は、LockRegistry を使用して構成し、一連の永続的な操作をアトミックに実行できるようになりました。詳細については、LockRegistry を使用するを参照してください。
Micrometer 観測の変化
SourcePollingChannelAdapter エンドポイントは、受信したメッセージに対して CONSUMER 種類の観測を開始します。MessageReceiverContext は、spring.integration.type 低カーディナリティタグの handler、message-source、message-producer 値を区別するようになりました。詳細については、Micrometer Observation を参照してください。
オプションの Paho MQTT 依存関係
spring-integration-mqtt に対する org.eclipse.paho:org.eclipse.paho.client.mqttv3 の依存関係も、org.eclipse.paho:org.eclipse.paho.mqttv5.client が常にオプションであったのと同様に、現在はオプションです。詳細については、MQTT サポートを参照してください。
Apache Kafka サポートの変更
KafkaMessageSource および KafkaMessageDrivenChannelAdapter は、Spring Integration チャネルアダプターの残りの部分と同様に、デフォルトで MessageHeaders.ID および MessageHeaders.TIMESTAMP ヘッダーを生成するようになりました。デフォルト設定で MessagingMessageConverter を挿入すると、動作を以前の状態に戻すことができます。詳細については、Apache Kafka サポートを参照してください。
最近使用したファイルフィルターのサポート
AbstractRecentFileListFilter 戦略は、提供されている age に基づいて十分に古くないファイルのみを受け入れるように導入されました。対応する実装は RecentFileListFilter、FtpRecentFileListFilter、SftpRecentFileListFilter、SmbRecentFileListFilter です。詳細についてはファイルを読むを参照してください。
FileExistsMode 式サポート
リモートファイルゲートウェイ(AbstractRemoteFileOutboundGateway)は、SpEL 式を介して実行時に FileExistsMode を動的に解決できるようになりました。詳細については、リモートファイルゲートウェイを参照してください。
Hazelcast モジュールの廃止
Hazelcast CP サブシステムの Enterprise エディションへの移行に伴い、HazelcastLockRegistry および Hazelcast LeaderInitiator は非推奨となりました。詳細については、Hazelcast サポートを参照してください。
JDBC サポート
BeanPropertySqlParameterSourceFactory は、入力が Map の場合、内部的に MapSqlParameterSource を使用するようになりました。また、JdbcMessageHandler は usePayloadAsParameterSource フラグを公開し、メッセージペイロードに対してのみパラメーターソースを操作できるようにしました。前述の MapSqlParameterSource は、マップペイロードを含むリクエストメッセージで役立ちます。詳細については、JDBC サポートを参照してください。
Redis ストリームのサポート
ReactiveRedisStreamMessageHandler は Function<Message<?>, RedisStreamCommands.XAddOptions> を公開し、便利な RedisStreamCommands.XAddOptions API を介して XADD の追加オプションを提供します。詳細については Redis サポートを参照してください。