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)