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 メソッドとして使用できることに注意してください。それでも、DSL オブジェクトがまだ Bean として定義されていない場合、DSL パーサーはインラインオブジェクトの Bean 宣言を処理します。
詳細およびサポートされるファクトリメソッドについては、Javadoc の Transformers (Javadoc) を参照してください。
バージョン 6.2 以降、transformWith(Consumer<TransformerEndpointSpec>)
バリアントが導入され、すべてのトランスフォーマーとそのエンドポイントオプションが単一のビルダー引数を介して構成されます。このスタイルにより、DSL の読みやすさが向上し、コードを変更する際の開発者のエクスペリエンスが向上します。これにより、Groovy および Kotlin DSL もより簡単になります。
ラムダと Message<?>
引数も参照してください。