5.5 および 6.0 間の変更
新規コンポーネント
統合フロー定義の Groovy DSL 実装が追加されました。詳細については、Groovy DSL を参照してください。
MQTT ClientManager
さまざまなチャネルアダプター間で再利用可能な MQTT 接続をサポートするために、新しい MQTT ClientManager
が追加されました。詳細については、共有 MQTT クライアントのサポートを参照してください。
GraphQL のサポート
GraphQL のサポートが追加されました。詳細については、GraphQL のサポートを参照してください。
Apache Camel サポート
Apache Camel ルートのサポートが導入されました。詳細については、"Apache Camel サポート" を参照してください。
Hazelcast サポート
Hazelcast Spring Integration Extensions プロジェクトは、spring-integration-hazelcast
モジュールとして移行されました。詳細については、Hazelcast サポートを参照してください。
SMB サポート
Spring Integration Extensions プロジェクトから SMB サポートが追加されました。Java DSL (org.springframework.integration.smb.dsl.Smb
factory を参照) もこのモジュールに追加されました。SmbStreamingMessageSource
と SmbOutboundGateway
の実装が導入されました。詳細については、SMB サポートを参照してください。
PostgreSQL プッシュ通知
PostgresSubscribableChannel
は、新しいメッセージが JdbcChannelMessageStore
に追加されると、PostgresChannelMessageTableSubscriber
を介してプッシュ通知を受信できるようにします。
詳細については、PostgreSQL: プッシュ通知の受信を参照してください。
RabbitMQ ストリームキューのサポート
AMQP モジュールが拡張され、RabbitMQ ストリームキューを使用した受信および送信チャネルアダプターのサポートが提供されるようになりました。詳細については、RabbitMQ ストリームキューのサポートを参照してください。
Apache MINA SFTP
SFTP モジュールは、古い JCraft JSch ライブラリから、Apache MINA プロジェクトのより堅牢で最新の org.apache.sshd:sshd-sftp
モジュールに完全に作り直されました。
詳細については、SFTP アダプターを参照してください。
Micrometer Observation
タイマーの監視と Micrometer を使用したトレースの有効化がサポートされるようになりました。詳細については、Micrometer Observation を参照してください。
GraalVM Polyglot サポート
Scripting モジュールは、GraalVM Polyglot サポートに基づく PolyglotScriptExecutor
実装を提供するようになりました。JavaScript のサポートは、JSR223 実装が Java 自体から削除されたため、このエグゼキューターに基づいています。詳細については、スクリプトのサポートを参照してください。
Apache Cassandra サポート
Apache Cassandra Spring Integration Extensions プロジェクトは、spring-integration-cassandra
モジュールとして移行されました。詳細については、Apache Cassandra サポートを参照してください。
ネイティブイメージ
GraalVM ネイティブイメージの作成がサポートされます。詳細については、ネイティブイメージのサポートを参照してください。
一般的な変更
メッセージングアノテーションは @Repeatable
になり、同じ型を同じサービスメソッドで複数回宣言できます。メッセージングアノテーションは、@Poller
の配列として poller
属性を必要としなくなりました。
詳細については、アノテーションサポートを参照してください。
便宜上、RecipientListRouter
に基づく Scatter-Gather 用の XML および Java DSL は applySequence = true
を設定するようになったため、Gatherer 部分はデフォルトの相関戦略に依存できます。
詳細については、スキャッターギャザーを参照してください。
AbstractMappingMessageRouter
には、もう 1 つの便利な動作変更が加えられました。現在、defaultOutputChannel
を設定すると、channelKeyFallback
プロパティも false
にリセットされるため、キーからチャネルを解決しようとする試みは行われませんが、ロジックはすぐにメッセージを defaultOutputChannel
に送信するようにフォールバックします。
詳細については、ルーターオプションを参照してください。
AggregatingMessageHandler
は、出力で MessageGroupProcessor
の Collection<Message<?>>
結果を分割しませんが (それが SimpleMessageGroupProcessor
でない限り)、このコレクション全体をペイロードとして含む単一のメッセージを発行します。
詳細については、アグリゲーターを参照してください。
IntegrationFlows
ファクトリは、IntegrationFlow
インターフェース自体で利用可能な流れるような API を推奨して非推奨としてマークされました。factory クラスは、将来のリリースで削除される予定です。
詳細については、Java DSL を参照してください。
org.springframework.util.concurrent.ListenableFuture
は、Spring Framework 6.0
から非推奨になりました。すべての Spring Integration 非同期 API は CompletableFuture
に移行されました。
メッセージングゲートウェイインターフェースメソッドは、ダウンストリームフローの適切な非同期実行で Future<Void>
および Mono<Void>
を返すことができるようになりました。
@MessagingGateway
アノテーションと一緒に、インターフェースを @Primary
でマークすることもできます。
@MessagingGateway
インターフェースは、設定用の @Import
リソースとして使用できるようになりました。
ゲートウェイプロキシ Bean のデフォルトの命名戦略は、@IntegrationComponentScan.nameGenerator()
属性を介してカスタマイズできます。AnnotationConfigUtils.CONFIGURATION_BEAN_NAME_GENERATOR
Bean が存在する場合、そうでない場合は AnnotationBeanNameGenerator
にフォールバックする前に参照されます。
詳細については、メッセージングゲートウェイを参照してください。
integrationGlobalProperties
Bean は、フレームワークによって、以前に廃止された java.util.Properties
の代わりに org.springframework.integration.context.IntegrationProperties
のインスタンスとして宣言されるようになりました。
応答としてコレクションを生成するメッセージハンドラー (例: JpaOutboundGateway
、JdbcOutboundGateway
およびその他の DB ベースのゲートウェイ) は、クエリによってレコードが返されない場合、空の結果リストを返すようになりました。以前は、requiresReply
に応じて、フローを終了するか、例外をスローして、null
が返されました。
RMI の削除
spring-integration-rmi
モジュールは、以前のバージョンで非推奨になった後、完全に削除されました。代替はありません。WebSockets、RSockets、gRPC、REST などのより安全なネットワークおよびアプリケーションプロトコルに移行することをお勧めします。
GemFire の取り外し
VMware GemFire または Apache Geode には Spring Data 2022.0.0
のサポートがないため、spring-integration-gemfire
モジュールは完全に削除されました。
HTTP の変更
HttpRequestHandlingEndpointSupport
で公開されている式評価コンテキストの #cookies
変数は、クライアントによって設定された Cookie のすべての値を保持する MultiValueMap
になりました。詳細については、HTTP サポートを参照してください。
Apache Kafka の変更
受信・ゲートウェイまたはメッセージ駆動型チャネルアダプターで RetryTemplate
を提供する場合、errorChannel
も提供されると、ErrorMessageSendingRecoverer
が自動的に構成されます。
さらに、新しい KafkaErrorMessageSendingRecoverer
が提供されます。これを DefaultErrorHandler
で使用すると、パーティションのリバランスを引き起こす長い集約再試行遅延の課題を回避できます。
詳細については、Spring for Apache Kafka サポートを参照してください。
JDBC の変更
アプリケーションコンテキストからのプライマリ Bean に依存する代わりに、DefaultLockRepository
に PlatformTransactionManager
を提供できるようになりました。
詳細については、JDBC ロックレジストリを参照してください。
TCP/IP の変更
AbstractConnectionFactory
および DatagramPacketMessageMapper
の lookupHost
プロパティは、DNS が構成されていない環境での遅延を回避するために、デフォルトで false
に設定されるようになりました。
詳細については、TCP および UDP のサポートを参照してください。
JMS の変更
replyPubSubDomain
オプションが true
に設定されている場合、JmsOutboundGateway
は TemporaryQueue
の代わりに TemporaryTopic
を作成するようになりました。
詳細については、JMS サポートを参照してください。
セキュリティの変更
ChannelSecurityInterceptor
とそのアノテーション @SecuredChannel
および XML <secured-channels>
構成は、AuthorizationChannelInterceptor
を推奨して廃止されました。
詳細については、セキュリティサポートを参照してください。
Webflux リクエスト属性のサポート
Webclient Request 属性のサポートが WebFluxRequestExecutingMessageHandler
に追加されました。
詳細については、WebFlux リクエスト属性を参照してください。