You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2015/02/09 21:44:34 UTC

[jira] [Resolved] (CXF-6229) EndpointReferenceUtils.getSchema does NOT cache negative schema parsing

     [ https://issues.apache.org/jira/browse/CXF-6229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-6229.
------------------------------
       Resolution: Fixed
    Fix Version/s: 2.7.15
                   3.0.4
         Assignee: Daniel Kulp

> 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
>
>
> 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)