【问题标题】:Mule ESB: XSLT Transformers or Java Transformers?Mule ESB:XSLT 转换器还是 Java 转换器?
【发布时间】:2012-07-10 20:25:37
【问题描述】:

如果我在 Mule 中使用自定义 Java 转换器代替 XSLT 转换器,是否会提高性能?

我有一个 cxf 代理服务和代理客户端模式,并且我的转换器用于更改有效负载,使其成为后续 SOAP Web 服务调用的有效输入。

【问题讨论】:

  • 你将如何用 Java 编写你的 XML 转换器?使用 DOM、SAX、Stax 或...? Mule XSL-T 转换器在幕后汇集,而您的 Java 转换器可能不会……所以整体性能还取决于您的应用程序的并发程度。很难预先说清楚,最好的方法可能是对 XSL-T 进行负载测试,并在证明它不够快/不够并发的情况下考虑使用您自己的变压器。
  • 我打算使用 SAX,但是,Mule 本身使用 SAX 来解析我编写的转换器。在这个过程中,骡子有什么额外的事情吗?当我转向使用 Java 转换器时,我想确保不会错过使用 XSLT 转换器的一些优势。关于池化,这里到底池化了什么? XSLT 是编译成 Java 转换器并被池化,还是 XSLT 文件本身被池化?如果文件被合并,它可能没有多大意义。我打算用 LoadUI 检查性能。谢谢。你一如既往地救我。 :)
  • 转换器在场景后面保留了一个 javax.xml.transform.Transformer 对象池,因此 XSL-T 文件以这种方式预加载和缓存。我认为使用 XSL-T 比基于 Java 的临时转换器更易于维护。我的建议是:尝试 XSL-T,并且仅在您证明它不能满足您的要求时才使用自定义代码。

标签: xml performance esb mule


【解决方案1】:

测量一下看看。除非您可以衡量效果,否则您永远不应出于性能原因对系统进行更改。将精力集中在仪器上,自然会有良好的表现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    相关资源
    最近更新 更多