[
https://issues.apache.org/jira/browse/CXF-6229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alessio Soldano updated CXF-6229:
---------------------------------
Fix Version/s: 3.1.0
> 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
> Assignee: Daniel Kulp
> Priority: Trivial
> Fix For: 3.0.4, 2.7.15, 3.1.0
>
>
> 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)