新着情報
Spring Integration にすでに精通している方のために、この章ではバージョン 6.4 の新機能の概要を簡単に説明します。
以前のバージョンで導入された変更と機能に興味がある場合は、変更履歴を参照してください。
Spring Integration 6.4 の新機能
詳細に興味がある場合は、6.4 開発プロセスの一部として解決された課題トラッカーチケットを参照してください。
一般に、プロジェクトは最新の依存関係バージョンに移動されました。
新規コンポーネント
BaseMessageBuilder
クラスは、カスタムビルダー実装を簡素化するために MessageBuilder
から抽出されました。この実装では、ほとんどのロジックは MessageBuilder
と同じになります。詳細については、MessageBuilder
を参照してください。
新しいコントロールバスインタラクションモデルは、ControlBusCommandRegistry
に実装されています。非推奨の ExpressionControlBusFactoryBean
の代わりに、新しい ControlBusFactoryBean
クラスを使用することをお勧めします。詳細については、制御バスを参照してください。
また、前述の ControlBusCommandRegistry
によって公開されたコマンドを管理するために、ControlBusController
(@EnableControlBusController
と共に) が導入されました。詳細については、HTTP サポートを参照してください。
SpEL 評価インフラストラクチャは、IndexAccessor
の構成をサポートするようになりました。また、すぐに使用できる JsonIndexAccessor
も提供されています。詳細については、SpEL サポートを参照してください。
リモートファイルアダプターの変更
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
を設定することを無効にするオプションを公開します。詳細については、メールサポートを参照してください。