2016-08-08 5 views
1

Spring Integration Java DSLで.handle()(Service Activatorの呼び出し)のためにSpelを呼び出す方法を知っていますか?Spring Integration Java DSL Service ActivatorのためのSpelの使い方

理由は、パラメータ付きのサービスアクティベータを呼び出したいからです。 XMLの場合、式属性で "@ myService.myMethod( 'param1'、 'param2')と同様のSpelを使用できます。

私は.handle(String expression)バリアントがありませんSI JavaのDSL

答えて

1

で似た何かを見つけることができません。私たちは、それは少し冗長発見し、完全なJavaのアクセス権を持つラムダバリアントが良いだろうことを決めた:

this.myServiceはあなたのサービスのために @Autowiredある
.handle(payload, headers) -> this.myService.myMethod('param1', 'param2')) 

。すべてのパラメータは同様の方法で決定できます。

Javaコードへの完全なアクセスがある場合、なぜ表現バリアントを主張するのかをお知らせください。

+0

オリジナルのXML設定バージョンでは、内の先行するコンポーネントのメッセージに基づいて、その場で構築する表現がいくつかあります。そのため、SI Java DSLの移行中に式がサポートされているかどうかを尋ねています。 – user3544765

+0

OK。なぜそのラムダサンプルを使ったJavaコードだけで同じ結果を達成できないのですか?それでもApplicationContextへの完全なアクセス権があります。 –

+0

問題ありません。私はそのためのラムダサンプルに従おうとします。 – user3544765

関連する問題