このバージョンはまだ開発中であり、まだ安定しているとは見なされていません。最新の安定バージョンについては、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<?> 引数も参照してください。