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<?> 引数も参照してください。