0

現在、統合チャネルで次のようなオブジェクトを受信して​​います。

public class LargeObject {
    private final String name;
    private final Integer id;
}

それから取り出してname、自分のオブジェクトにラップして、別のチャネルに送信したいと思います。

したがって、一般的には、と同様の方法でメッセージペイロードを変換したいと思います<integration:json-to-object-transformer>

でそれを行うことができましたが<integration:service-activator>、その仕事専用のコンポーネントがあるかどうか迷っていましたか?

ありがとう、

4

1 に答える 1

4

このための適切なコンポーネントは

<transformer/>

新しいオブジェクトにコンストラクターがあり、LargeObjectにgetName()メソッドがあるとすると、式を含む単純なトランスフォーマーを使用できます...

<int:transformer expression="new foo.OtherObject(payload.name)"
    input-channel="foo" output-channel="bar" />

さらに洗練されたものが必要な場合は、この方法でPOJOを作成するだけです...

public OtherObject transformIt(LargeObject input) {...}

と使用...

<int:transformer ref="transformerPojo"
    input-channel="foo" output-channel="bar" />
于 2012-09-11T14:19:45.000 に答える