このバージョンはまだ開発中であり、まだ安定しているとは見なされていません。最新の安定バージョンについては、Spring Integration 6.5.3 を使用してください!

Transformers

DSL API は、.transform() EIP メソッド内でインラインターゲットオブジェクト定義として使用される便利で流れるような Transformers ファクトリを提供します。次の例は、その使用方法を示しています。

@Bean
public IntegrationFlow transformFlow() {
    return IntegrationFlow.from("input")
            .transform(Transformers.fromJson(MyPojo.class))
            .transform(Transformers.serializer())
            .get();
}

setter を用いた煩雑なコーディングを回避し、フロー定義をより簡潔にします。Transformers を用いて、対象の Transformer インスタンスを @Bean インスタンスとして宣言し、IntegrationFlow 定義から Bean メソッドとして使用できることに注意してください。ただし、インラインオブジェクトがまだ Bean として定義されていない場合、DSL パーサーはそれらの Bean 宣言を処理します。

詳細およびサポートされるファクトリメソッドについては、Javadoc の Transformers (Javadoc) を参照してください。

バージョン 6.2 以降、transformWith(Consumer<TransformerEndpointSpec>) バリアントが導入され、すべてのトランスフォーマーとそのエンドポイントオプションを単一のビルダー引数で設定できるようになりました。このスタイルにより、DSL の可読性が向上し、コード変更時の開発者エクスペリエンスが向上します。また、Groovy および Kotlin DSL もよりわかりやすくなります。

ラムダと Message<?> 引数も参照してください。