[jboss-as7-dev] Xalan custom jbossorg release

Jason Greene jason.greene at redhat.com
Wed Feb 20 10:47:44 EST 2013


Replying inline to be more clear.

On Feb 20, 2013, at 8:24 AM, Jan J. Roman <mail at jjroman.net> wrote:

> Hello everyone,
> I can not get heard on irc ;-) and forum discussion in development area seems to be a bit dead.
> I would like to start contributing and I have been trying to resolve issue reported here: https://issues.jboss.org/browse/AS7-6390
> 
> I came to the point where I figured out that the issue is caused by incorrectly picked TransformerFactory class (it is created as an instance of org.apache.xalan.xsltc.trax.TransformerFactoryImpl instead of com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl). 

That's not quite right. The com.sun.* class is a JDK class it's not in the xalan library we ship. If something ever picks org.apache.xalan.xsltc.trax.TransformerFactoryImpl, it's going to break when a deployment is involved due to the class loading issues I mentioned in the other email.

I think what you are talking about below is the interpreted version of the transformer, which is NOT what the JDK uses:
org.apache.xalan.processor.TransformerFactoryImpl
 

> This instance incorectly performs transormation of wsdl inserting doubled namespace definitions.

That could very well be a bug in the tranelet (compiled ) transformer, however, it could also be a bug in the xslt, which doesn't happen in the interpreted version. The JDK is based on the same (but slightly older code), so I would expect that this behavior would happen on the JDK as well. I think the issue needs to be looked into as to what is causing this bug. Perhaps a patch is already available.

> 
> As it was reported by user this is not happening in Jboss EAP 6.0
> 
> I did some investigation and I found that it is caused by change in the file: https://github.com/jboss/xalan-j/blob/jboss_2_7_1/src/META-INF/services/javax.xml.transform.TransformerFactory
> Change labeled: "Enable xslt" commit: 928a986054f4c67fcd0d62fabec908aa77fdd864
> 
> This file exist in xalan-2.7.1-jbossorg-1.jar and xalan-2.7.1-redhat-1.jar but in redhat release it is unchanged. 

If so that's a pretty big problem because that means that our productization process lost an upstream patch!

> 
> When I revert this change locally - correct class is picked and double namespaces do not occur. 

So the reason I mention that we should look into whats actually causing the bug, is that interpreted translates are a lot slower than compiled translates. So simply switching to interpreted isn't a friendly thing to do,  and really should only be done if we are sure its the only realistic option.

> 
> Another consternation about this third party release is that in nexus repository there is released JAR named: xalan-2.7.1-jbossorg-2 while there is no such version on github. It should not be an issue as by default current builds of AS 6,7 and 8 ;-) are picking xalan-2.7.1-jbossorg-1 but it would be nice to have it sorted. 
> OTOH replacing xalan-2.7.1-jbossorg-1 with xalan-2.7.1-jbossorg-2 does not solve the problem mentioned above.

It looks like everything is in the github history:
https://github.com/jboss/xalan-j/blob/jboss_2_7_1/maven/pom-xalan.xml

--
Jason T. Greene
JBoss AS Lead / EAP Platform Architect
JBoss, a division of Red Hat




More information about the jboss-as7-dev mailing list