|
在JAXP中透明的缓存XSL转换器(1)
在JAXP中透明的缓存XSL转换器 XML:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 使用内置在Transformer Factory中的缓存功能在保持易用性的同时提高性能 摘要 当在具有众多并发进程重复使用XSLT(Extensible Stylesheet Language Transformations)的Web环境中时,实现一个样式表缓存可以从根本上提高Web应用程序的性能。可是对于纯粹的JAXP用户来说,在大多数JAXP (Java API for XML Parsing) 程序中使用样式表缓存通常并不方便。本文章将介绍如何实现增加缓存功能至transformer factory,并可以完全透明的使用缓存。(2003年5月2日) 作者:Alexey Valikov 不要怀疑,XSLT的确是一个强大的技术,人们使用它构建了非常多的XML应用。具体来说,众多的Web开发者们可以利用XSLT在呈现层(Presentation Layer)的优势增加Web应用的易用性和伸缩性。然而这个优势的代价是更多的内存和更高的CPU负载,这个问题使开发者们在使用XSLT时更关注优化和缓存技术。当在一个有众多并发进程共享样式表的Web环境中时缓存尤为重要。 在这些情况中,恰当的transformation缓存被证实对于提高性能有极大的帮助。最常见的建议是在使用JAXP时的将transformations加载入一个Templates对象,并且使用这个对象来创建Transformer对象,这比直接从工厂中实例化Transformer对象具有更好的效果。那样一个Templates对象可以在稍后被重用于创建更多的transformers,这样就节约了每一次用在样式表解析和编译的时间。在“Top Ten Java and XSLT Tips”中,Eric Burke在Tip1中列出了下列代码 Source xsltSource = new StreamSource(xsltFile);
|