最新の安定バージョンについては、Spring Integration 6.5.2 を使用してください!

バージョン 1.0 および 2.0 間の変更

アプリケーションに影響する可能性のある重要な変更については、移行ガイド [GitHub] (英語) を参照してください。

Spring 3 サポート

Spring Integration 2.0 は Spring 3.0.5 上に構築され、その機能の多くをユーザーが利用できるようにします。

[[2.0-spel-support]] === Spring 式言語のサポート (SpEL)

トランスフォーマー、ルーター、フィルター、スプリッター、アグリゲーター、サービスアクティベーター、ヘッダーエンリッチャー、Spring Integration コア名前空間のさまざまな要素内、およびさまざまなアダプター内で SpEL 式を使用できるようになりました。このガイドには多くのサンプルが含まれています。

変換サービスとコンバーター

データ型チャネル (英語) などの多くの Spring Integration コンポーネントを構成しながら、Spring で提供される変換サービスのサポートを利用できるようになりました。メッセージチャネルの実装およびサービスアクティベーターを参照してください。また、前のポイントで述べた SpEL サポートも変換サービスに依存しています。コンバーターを一度登録すると、SpEL 式を使用する場所であればどこでも利用できます。

TaskScheduler および Trigger

Spring 3.0 は、スケジューリングに関連する 2 つの新しい戦略 TaskScheduler と Trigger を定義しています。Spring Integration(これは多くのスケジューリングを使用します)はこれらに基づいています。実際、Spring Integration 1.0 は元々一部のコンポーネント(CronTrigger など)を定義しており、現在は Spring 3.0 のコア API に移行されています。これで、(Spring Integration 構成だけでなく)アプリケーションコンテキスト全体で同じコンポーネントを再利用するメリットが得られます。また、レート、遅延、cron 式、トリガー参照を直接構成するための属性を提供することにより、Spring Integration ポーラーの構成を大幅に簡素化しました。構成例については、チャンネルアダプターを参照してください。

RestTemplate および HttpMessageConverter

送信 HTTP アダプターは、Spring の RestTemplate に委譲して、HTTP リクエストを実行し、そのレスポンスを処理します。これは、カスタム HttpMessageConverter 実装を再利用できることも意味します。詳細については、HTTP 送信コンポーネントを参照してください。

エンタープライズ統合パターンの追加

また、2.0 では、Hohpe and Woolf のエンタープライズ統合パターン (英語) 本で説明されているパターンのサポートを追加しました。

メッセージ履歴

メッセージ履歴 (英語) パターンをサポートするようになりました。これにより、各チャネルとエンドポイントの名前、そのトラバースのタイムスタンプなど、トラバースされたすべてのコンポーネントを追跡できます。詳細については、メッセージ履歴を参照してください。

メッセージストア

メッセージストア (英語) パターンのサポートを提供するようになりました。メッセージストアは、アグリゲーターやリシーケンサーなど、スコープが単一のトランザクションを超えて広がるプロセスに代わってメッセージを永続化するための戦略を提供します。このガイドの多くのセクションには、Spring Integration のいくつかの領域に影響するため、メッセージストアの使用方法のサンプルが含まれています。詳細については、メッセージストアクレームチェックメッセージチャンネルアグリゲーターJDBC サポート `"、およびリシーケンサーを参照してください。

クレームチェック

クレームチェック (英語) パターンの実装を追加しました。クレームチェックパターンの背景となる考え方は、メッセージペイロードを「クレームチケット」と交換できるということです。これにより、帯域幅を削減し、チャネル間でメッセージを送信する際の潜在的なセキュリティ課題を回避できます。詳細については、クレームチェックを参照してください。

制御バス

制御バス (英語) パターンの実装を提供しており、メッセージングを使用してエンドポイントとチャネルを管理および監視できます。実装には、SpEL ベースのアプローチと Groovy スクリプトを実行するアプローチの両方が含まれます。詳細については、制御バスおよび制御バスを参照してください。

新しいチャネルアダプターとゲートウェイ

Spring Integration 2.0 にいくつかの新しいチャネルアダプターとメッセージングゲートウェイを追加しました。

TCP および UDP アダプター

TCP および UDP インターネットプロトコルを介してメッセージを送受信するためのチャネルアダプターを追加しました。詳細については、TCP および UDP のサポートを参照してください。次のブログも参照してください: “Spring Integration 2.0 M3 での UDP および TCP アダプターの使用” (英語)

Twitter アダプター

Twitter アダプターは、Twitter ステータスの更新とダイレクトメッセージの送受信をサポートします。受信チャネルアダプターを使用して Twitter 検索を実行することもできます。詳細については、Spring Integration ソーシャル Twitter [GitHub] (英語) を参照してください。

XMPP アダプター

新しい XMPP アダプターは、チャットメッセージとプレゼンスイベントの両方をサポートします。詳細については、XMPP サポートを参照してください。

FTP および FTPS アダプター

FTP および FTPS を介した受信および送信のファイル転送サポートが利用可能になりました。詳細については、FTP/FTPS アダプターを参照してください。

SFTP アダプター

SFTP を介した受信および送信のファイル転送サポートが利用可能になりました。詳細については、SFTP アダプターを参照してください。

フィードアダプター

ニュースフィード(ATOM および RSS)を受信するためのチャネルアダプターも追加しました。詳細については、フィードアダプターを参照してください。

その他の追加

Spring Integration は、他の多くの機能を追加します。このセクションではそれらについて説明します。

Groovy サポート

Spring Integration 2.0 は Groovy サポートを追加し、Groovy スクリプト言語を使用して統合およびビジネスロジックを提供できるようにしました。詳細については、Groovy サポートを参照してください。

マップ Transformers

これらの対称トランスフォーマーは、ペイロードオブジェクトを Map オブジェクトとの間で変換します。詳細については、Transformer を参照してください。

JSONTransformers

これらの対称トランスフォーマーは、ペイロードオブジェクトと JSON を相互に変換します。詳細については、Transformer を参照してください。

直列化トランス

これらの対称トランスフォーマーは、ペイロードオブジェクトをバイト配列との間で変換します。また、Spring 3.0.5 が追加したシリアライザおよびデシリアライザ戦略インターフェースもサポートしています。詳細については、Transformer を参照してください。

フレームワークリファクタリング

コア API は、大幅にリファクタリングされ、よりシンプルで使いやすくなりました。開発者への影響は最小限であると予測していますが、このドキュメントを読んで、変更点を見つけてください。具体的には、動的ルーターメッセージングゲートウェイHTTP 送信コンポーネントメッセージアグリゲーターを読む必要があります。一部のコアコンポーネント(MessageMessageHeadersMessageChannelMessageBuilder など)に直接依存している場合、インポートステートメントを更新する必要があります。循環依存関係を回避しながらドメインモデルを継承するために必要な柔軟性を提供するために、一部のパッケージを再構築しました(このような「もつれ」を回避するのはフレームワークのポリシーです)。

新しいソース管理とビルドインフラストラクチャ

Spring Integration 2.0 を使用して、ソース管理に Git を使用するようにビルド環境を切り替えました。リポジトリにアクセスするには、git.springsource.org/spring-integration (英語) にアクセスしてください。また、ビルドシステムを Gradle (英語) に切り替えました。

新しい Spring Integration サンプル

Spring Integration 2.0 を使用して、サンプルをメインのリリース配布から切り離しました。詳細については、新しい Spring Integration サンプル (英語) のブログを参照してください。また、すべての新しいアダプターのサンプルを含む、多くの新しいサンプルを作成しました。

Eclipse Spring Tool Suite Spring Integration 用ビジュアルエディター

SpringSource Tool Suite の最新バージョンには、Spring Integration 用の驚くべき新しいビジュアルエディターが含まれています。まだ STS を使用していない場合は、Pleiades All in One (JDK, STS, Lombok 付属) Eclipse Spring Tool Suite (英語) でダウンロードできます。