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 回答