DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16481>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16481

Incorrect usage of context ClassLoader for static field initialization

           Summary: Incorrect usage of context ClassLoader for static field
                    initialization
           Product: XalanJ2
           Version: 2.0.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Critical
          Priority: Other
         Component: Xalan
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


Several classes read resources through thread context ClassLoader. When it is
right thing for factories, it it is definitely not right for static field
initialization. Due to this it is problematic for me to use Xalan as Eclipse
plugin. This might be issue in other environments with many ClassLoaders too.

These two classes should not use context Classloader:
org.apache.xalan.serialize.Encodings
org.apache.xalan.templates.OutputProperties

Instead they should simply read properties from their OWN Classloader as
org.apache.xalan.serialize.CharInfo does:
ClassLoader cl = CharInfo.class.getClassLoader();

There are one more class:
org.apache.xalan.processor.TransformerFactoryImpl
It does "System.setProperties(systemProps)" in it's static initialization!
Actually it does'nt set anything what could be needed except sax-driver (which
should be defined in META-INF/services by default!), and I think it is something
from legacy code and must be removed now (to remove possible side effects)...

Reply via email to