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=22537>.
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=22537

AxisProperties has a non-thread safe method, getNameDiscoverer()

[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED



------- Additional Comments From [EMAIL PROTECTED]  2003-08-19 07:50 -------
  It seems that the exception is thrown by org.apache.commons.discovery
package, however the root problem is a parameter from Axis to Discovery
pkg as a ClassLoader.  That is, the value of tha parameter is NULL.
  
  Of particular note is that AxisProperties has a couple of static
fields and methods, but it doesn't have any synchronized blocks ...

<snippet>
org.apache.axis.AxisProperties.java 
 :
    private static NameDiscoverers nameDiscoverer;
    private static ClassLoaders loaders;
 :
    public static ResourceNameDiscover getNameDiscoverer() {
        if (nameDiscoverer == null) {
            nameDiscoverer = new NameDiscoverers();
            nameDiscoverer.addResourceNameDiscover
(getAlternatePropertyNameDiscoverer());
            nameDiscoverer.addResourceNameDiscover(new 
DiscoverNamesInManagedProperties());
            nameDiscoverer.addResourceNameDiscover(new DiscoverServiceNames
(getClassLoaders()));
            nameDiscoverer.addResourceNameDiscover(getMappedNames());
        }
        return nameDiscoverer;
    }
 :
    private static ClassLoaders getClassLoaders() {
        if (loaders == null) {
            loaders = ClassLoaders.getAppLoaders(AxisProperties.class, null, 
true);
        }
        return loaders;
    }
 :
</snippet>

-- 
Toshi <[EMAIL PROTECTED]>

Reply via email to