You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xalan.apache.org by Guillaume Bilodeau <gu...@gmail.com> on 2012/05/01 18:39:52 UTC

Xalan DTMManager.newInstance performance issue

(this has also been posted on StackOverflow -
http://stackoverflow.com/questions/10366695/xalan-dtmmanager-newinstance-performance-issue)

We have inherited an application (Java-based, running on WebLogic 10.3.5)
that makes extensive use of JSTL XML tags, and particularly of XPath
selectors. Quickly we have run into some performance problems due to the
implementation of these tags and how the DTMManager class is first resolved
then instantiated by the DTMManager.newInstance method.

The DTMManager class name lookup issue has been previously documented
(http://stackoverflow.com/questions/6340802/java-xpath-apache-jaxp-implementation-performance)
and was solved by setting the com.sun.org.apache.xml.dtm.DTMManager system
property.

However, once the class name has been found, the
com.sun.org.apache.xml.internal.dtm.ObjectFactory.findProviderClass method
asks the (not null) class loader to load the class definition and it never
caches the result! In a WebLogic environment, this operation is very
expensive and eats a significant portion of our response times.

Is there a reason why the class definition is never cached? And is there a
way to avoid the class definition to be loaded every time?

Thanks a bunch!
GB

-- 
View this message in context: http://old.nabble.com/Xalan-DTMManager.newInstance-performance-issue-tp33763343p33763343.html
Sent from the Xalan - J - Users mailing list archive at Nabble.com.