6.3 および 6.4 間の変更

新規コンポーネント

BaseMessageBuilder クラスは、カスタムビルダー実装を簡素化するために MessageBuilder から抽出されました。この実装では、ほとんどのロジックは MessageBuilder と同じになります。詳細については、MessageBuilder を参照してください。

新しいコントロールバスインタラクションモデルは、ControlBusCommandRegistry に実装されています。非推奨の ExpressionControlBusFactoryBean の代わりに、新しい ControlBusFactoryBean クラスを使用することをお勧めします。詳細については、制御バスを参照してください。

また、前述の ControlBusCommandRegistry によって公開されたコマンドを管理するために、ControlBusController (@EnableControlBusController と共に) が導入されました。詳細については、HTTP サポートを参照してください。

SpEL 評価インフラストラクチャは、IndexAccessor の構成をサポートするようになりました。また、すぐに使用できる JsonIndexAccessor も提供されています。詳細については、SpEL サポートを参照してください。

一般的な変更

Java DSL SourcePollingChannelAdapterSpec はカスタム TaskScheduler で構成できるようになりました

リモートファイルアダプターの変更

AbstractRemoteFileStreamingMessageSource には、処理されていない リモートファイルの参照をキャッシュから削除するための便利な clearFetchedCache() API が追加されました。ポーリング構成では 1 サイクルでフェッチされたものすべてを処理できず、ターゲット SessionFactory はポーリングサイクル間で変更される可能性があるため (例: RotatingServerAdvice 経由)、参照はキャッシュに残ります。

JDBC の変更

LobHandler (およびそれぞれの API) は、Spring Framework 6.2 で削除されるため非推奨になりました。JdbcMessageStore (および同様のもの) のそれぞれのオプションも非推奨になりました。直列化されたメッセージのバイト配列の処理は、JDBC ドライバーに完全に委ねられています。

LockRepository.delete() メソッドは、分散ロックの所有権を削除した結果を返します。また、JdbcLockRegistry.JdbcLock.unlock() メソッドは、ロックの所有権が期限切れの場合に ConcurrentModificationException をスローします。詳細については、JDBC サポートを参照してください。

ZeroMQ の変更

送信 コンポーネント ZeroMqMessageHandler (およびそれぞれの API) は、指定された URL に接続する代わりに TCP ポートをバインドできるようになりました。詳細については、ZeroMQ サポートを参照してください。

Redis の変更

ロックの所有権が期限切れの場合、RedisLockRegistry.RedisLock.unlock() メソッドは IllegalStateException をスローする代わりに ConcurrentModificationException をスローします。定期的なロック更新に RedisLockRegistry.setRenewalTaskScheduler() を追加します。詳細については、Redis サポートを参照してください。

Groovy の変更

ControlBusFactoryBean (およびそれぞれの <int-groovy:control-bus> XML タグ) は非推奨 (削除のため) となり、代わりに ControlBusCommandRegistry に実装された新しいモデルに基づいて新しく導入された ControlBusFactoryBean が採用されました。詳細については、制御バスを参照してください。

SFTP サポートの変更

DefaultSftpSessionFactory は、内部の SshClient をさらにカスタマイズするための Consumer<SshClient> コンフィギュラプロパティを公開するようになりました。詳細については、SFTP セッションファクトリを参照してください。

MQTT サポートの変更

対応する ClientManager から IntegrationFlowContext を使用して、実行時に MqttPahoMessageDrivenChannelAdapter および Mqttv5PahoMessageDrivenChannelAdapter の複数のインスタンスを追加できるようになりました。また、アクションコールバックが配信の失敗に反応したときに発行される MqttMessageNotDeliveredEvent イベントも導入されました。詳細については、MQTT サポートを参照してください。

Zip サポートの変更

ZipTransformer は、ターゲット zip ファイル (およびオプションの zip エントリ) の名前生成をカスタマイズするための fileNameGenerator プロパティを公開するようになりました。詳細については、Zip サポートを参照してください。

スクリプトの変更

Python スクリプトの評価は、GraalVM Polyglot に移行されました。詳細については、スクリプトのサポートを参照してください。

メールの変更

AbstractMailReceiver は、受信したメッセージにフォールバックフラグとして Flags.Flag.FLAGGED を設定することを無効にするオプションを公開します。詳細については、メールサポートを参照してください。