为每个请求加载XML

时间:2010-01-25 07:14:25

标签: java xml java-ee

我的应用程序为每个请求加载xml并更新xml元素。

我一次有10到20个请求,xml加载过程每个请求都需要一些时间,因为它在同步块中。

xml大小为500 KB并使用DOM解析器(旧版代码)。

有没有办法改善表现?

3 个答案:

答案 0 :(得分:1)

在不了解您的应用程序,XML数据的其他使用者或您对环境的控制的更多信息的情况下,您可能会考虑将数据保留在应用程序服务器上(它是相同的文件还是一堆不同的文件,每个文件都是500kb?)并运行定期复制作业,以合理的间隔将更新的副本发送回原始源。

答案 1 :(得分:1)

  

我用Stax解析器替换了DOM解析器。解决了我的问题。

VTD-XML速度更快,内存效率更高。但是......我强烈质疑需要来解析每个请求上的XML文件。使用ServletContextListener在应用程序范围内缓存它并使用TimerTask每分钟保存缓存的内容会更有效。

答案 2 :(得分:0)

我用Stax解析器替换了DOM解析器。解决了我的问题。