tomcat-taglibs-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthew Broadhead <matthew.broadh...@nbmlaw.co.uk>
Subject Re: xalan usage in taglibs
Date Mon, 27 Nov 2017 08:07:15 GMT
In TomEE 7.0.3 everything is fine at startup.  But if a webapp is 
reloaded I get
java.lang.ClassCastException: org.apache.xml.dtm.ref.DTMManagerDefault 
cannot be cast to org.apache.xml.dtm.DTMManager
and the whole container needs to be restarted which is not ideal during 
production

Now in TomEE 7.0.4 I cannot even start without this error so I cannot 
upgrade.

It seems like a classloader issue but taglibs is the only hardcoded 
dependency on xalan

On 27/11/2017 01:12, Jeremy Boynes wrote:
>> On Nov 26, 2017, at 2:17 PM, Matthew Broadhead <matthew.broadhead@nbmlaw.co.uk>
wrote:
>>
>> So to run the tests I could reverse the changes of the commit and then update to
javax.xml.* and run tests?
>>
>> I am still struggling a bit to understand exactly what is happening wrt VariableStack
and how I can change over to XPathVariableResolver.  And also don't see a way to replace XBoolean,
XNumber, XString etc...
>>
>> I will keep trying things.   Can I come back to you with specific queries?
> I did experiment with a pure JAXP based solution - there’s a patch <https://bz.apache.org/bugzilla/attachment.cgi?id=26445&action=diff>
attached to #27717 that might be a place to start from. You may need to roll back a bit to
get it to apply.
>
>  From what I remember, the performance problem stemmed from the evaluation of XPath inside
the loop, with both Xalan and JAXP (which used a shaded version of Xalan) reinitializing the
DTM each time leading to N * N scaling. The fix was to use Xalan’s API directly to convert
the document’s DOM to a DTM once and then apply the XPath against the DTM each time leading
to 1 * N scaling.
>
> The downside is that there was a direct dependency on Xalan 2.7.1. I think we tried using
2.7.2 but there was some other problem with that I can’t find at the moment. Given the stability
of Xalan/Xerces, what’s causing the conflict with FOP?


---------------------------------------------------------------------
To unsubscribe, e-mail: taglibs-user-unsubscribe@tomcat.apache.org
For additional commands, e-mail: taglibs-user-help@tomcat.apache.org


Mime
View raw message