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 <> 

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 
<> 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:
For additional commands, e-mail:

Reply via email to