首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xalan DTMManager.newInstance性能问题

问Xalan DTMManager.newInstance性能问题
EN

Stack Overflow用户
提问于 2012-04-28 19:12:08
回答 1查看 1.3K关注 0票数 1

我们继承了一个应用程序(基于Java,运行在WebLogic 10.3.5上),它广泛使用了JSTL标记,特别是XPath选择器。由于这些标记的实现以及如何首先解析DTMManager类,然后由DTMManager.newInstance方法实例化,我们很快就遇到了一些性能问题。

DTMManager类名查找问题以前是documented,通过设置com.sun.org.apache.xml.dtm.DTMManager系统属性解决了这个问题。

但是,一旦找到了类名,com.sun.org.apache.xml.internal.dtm.ObjectFactory.findProviderClass方法就要求( null)类加载器加载类定义,并且它永远不会缓存结果!在WebLogic环境中,这个操作非常昂贵,占用了我们很大一部分的响应时间。

为什么没有缓存类定义?是否有办法避免每次加载类定义?

谢谢一堆。

更新对于com.sun.org.apache.xerces.internal.impl.dv.DTDDVFactory类可以观察到类似的行为-- ClassLoader在每次调用DTDDVFactory.newInstance时都会重新加载类定义。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-13 19:25:21

除了避免这些标签的广泛使用之外,似乎没有什么可以做的。我们重构了这个代码部分:

  • XML解析现在由一个自定义标记执行,该标记使用JAXB填充从XSD生成的对象图,
  • JSP现在使用标准符号来参考对象图

。

只是表明在JSP中执行XML解析不是一个特别好的主意.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10366695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档