Repository: cxf
Updated Branches:
  refs/heads/3.0.x-fixes 7889d0389 -> 6c6acecbc


[CXF-6229] Cache result if schema was not able to be loaded


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/6c6acecb
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/6c6acecb
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/6c6acecb

Branch: refs/heads/3.0.x-fixes
Commit: 6c6acecbcf198e39b6925c01318ab005ca3cf0df
Parents: 7889d03
Author: Daniel Kulp <[email protected]>
Authored: Mon Feb 9 15:40:47 2015 -0500
Committer: Daniel Kulp <[email protected]>
Committed: Mon Feb 9 15:41:43 2015 -0500

----------------------------------------------------------------------
 .../apache/cxf/ws/addressing/EndpointReferenceUtils.java  | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/6c6acecb/core/src/main/java/org/apache/cxf/ws/addressing/EndpointReferenceUtils.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/cxf/ws/addressing/EndpointReferenceUtils.java 
b/core/src/main/java/org/apache/cxf/ws/addressing/EndpointReferenceUtils.java
index 6710ee4..4ab5910 100644
--- 
a/core/src/main/java/org/apache/cxf/ws/addressing/EndpointReferenceUtils.java
+++ 
b/core/src/main/java/org/apache/cxf/ws/addressing/EndpointReferenceUtils.java
@@ -669,9 +669,13 @@ public final class EndpointReferenceUtils {
             return null;
         }
         Schema schema = serviceInfo.getProperty(Schema.class.getName(), 
Schema.class);
-        if (schema == null && 
!serviceInfo.hasProperty(Schema.class.getName())) {
-            synchronized (serviceInfo) {
-                return createSchema(serviceInfo, b);
+        if (schema == null && !serviceInfo.hasProperty(Schema.class.getName() 
+ ".CHECKED")) {
+            try {
+                synchronized (serviceInfo) {
+                    return createSchema(serviceInfo, b);
+                }
+            } finally {
+                serviceInfo.setProperty(Schema.class.getName() + ".CHECKED", 
Boolean.TRUE);
             }
         }
         return schema;

Reply via email to