Repository: cxf Updated Branches: refs/heads/master 7012de652 -> b7ad1f3c5
Fix some race conditions in the EndpointPolicyImpl Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/b7ad1f3c Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/b7ad1f3c Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/b7ad1f3c Branch: refs/heads/master Commit: b7ad1f3c5014a3e8ca6af8b91ed26252fb1b8a61 Parents: 7012de6 Author: Daniel Kulp <[email protected]> Authored: Wed Jun 4 09:59:24 2014 -0400 Committer: Daniel Kulp <[email protected]> Committed: Wed Jun 4 09:59:41 2014 -0400 ---------------------------------------------------------------------- .../org/apache/cxf/ws/policy/EndpointPolicyImpl.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/b7ad1f3c/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EndpointPolicyImpl.java ---------------------------------------------------------------------- diff --git a/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EndpointPolicyImpl.java b/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EndpointPolicyImpl.java index 12f78bf..3df3c3b 100644 --- a/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EndpointPolicyImpl.java +++ b/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EndpointPolicyImpl.java @@ -189,7 +189,11 @@ public class EndpointPolicyImpl implements EndpointPolicy { } } - void initializeVocabulary(Message m) { + synchronized void initializeVocabulary(Message m) { + if (vocabulary != null) { + return; + } + vocabulary = new ArrayList<Assertion>(); if (requestor) { faultVocabulary = new ArrayList<Assertion>(); @@ -269,7 +273,11 @@ public class EndpointPolicyImpl implements EndpointPolicy { } } - void initializeInterceptors(Message m) { + synchronized void initializeInterceptors(Message m) { + if (interceptors != null) { + return; + } + if (engine == null || engine.getBus() == null || engine.getBus().getExtension(PolicyInterceptorProviderRegistry.class) == null) { return;
