Krzysztof Kucap created CXF-6229:
------------------------------------

             Summary: EndpointReferenceUtils.getSchema does NOT cache negative 
schema parsing
                 Key: CXF-6229
                 URL: https://issues.apache.org/jira/browse/CXF-6229
             Project: CXF
          Issue Type: Bug
    Affects Versions: 3.0.2
            Reporter: Krzysztof Kucap
            Priority: Trivial


Although EndpointReferenceUtils.getSchema(ServiceInfo serviceInfo, Bus b) code 
pretend that it does not enter synchronized section if serviceInfo has 
Schema.class.getName() property that is null, the fact is that serviceInfo is 
not able to preserve null values because of serviceInfo.setProperty(String 
name, Object v) implementation which REMOVES property if passed value is null 
(EndpointReferenceUtils.createSchema(ServiceInfo serviceInfo, Bus b) calls 
serviceInfo.setProperty() with possible null value).

Such implementation in case of specifying wrong XSDs for service has a huge 
performance impact in multi-threading environment because every time 
EndpointReferenceUtils.getSchema() is called it enters synchronized section and 
tries to parse wrong XSDs.

So, EndpointReferenceUtils.getSchema() should stop pretend that it caches 
negative XSD parsing(s) or caching should be fixed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to