0

Talend ESB 5.2.0 を使用して、CXF メッセージング エンドポイントへのインバウンド リクエストのペイロードで処理ジョブを呼び出すメディエーション ルートを作成したいと考えていますが、現在の実装では大きなペイロードでパフォーマンスの問題が発生しています。

この問題を調査したところ、tXMLMap を使用して、受信 XML ペイロードを tRouteInput コンポーネントから処理用の内部行構造にマーシャリングすることがボトルネックであることがわかりました。

ルートで組み込みの型コンバーターを使用して、ルートから内部行構造をマーシャリングし、ジョブで処理するコストが低い POJO またはトランスポート オブジェクトを介してストリームすることは可能ですか? または、安価な変換を使用してルートから XML を Talend の内部行構造にマーシャリングするより良い方法はありますか?

どんな考えでも大歓迎です。乾杯、ミッド

4

1 に答える 1

0

この問題は、インバウンド XML ペイロードの形式が原因であることが判明しました。出力フローを tXMLMap から分離するために複数のループ要素マッピングを使用すると、各出力フローの各アイテムに相対リンクが生成され、ループを含むより高度な処理が可能になります。必要。

これにより、スループットの低下につながる大きなメモリ オーバーヘッドが発生しました。

XML から Talend への行変換で高度な処理を必要としないため、tReplicate および tExtractXMLField コンポーネントを使用してペイロードを個別のループ要素に分割し、別の tXMLMaps で XML からマッピングしてこれらのリンクの自動生成を回避することで、この問題を解決しました。 .

-ミッド

于 2013-04-25T09:21:35.207 に答える