You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2017/03/24 14:46:38 UTC
[2/5] cxf git commit: [CXF-6907] Cache the EPR for performance
[CXF-6907] Cache the EPR for performance
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/307cc3d7
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/307cc3d7
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/307cc3d7
Branch: refs/heads/master
Commit: 307cc3d77312a832cad963ffa7079388b21bd859
Parents: 6e01fcf
Author: Daniel Kulp <dk...@apache.org>
Authored: Thu Mar 23 14:10:54 2017 -0400
Committer: Daniel Kulp <dk...@apache.org>
Committed: Fri Mar 24 10:03:08 2017 -0400
----------------------------------------------------------------------
.../java/org/apache/cxf/wsn/AbstractEndpoint.java | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/307cc3d7/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractEndpoint.java
----------------------------------------------------------------------
diff --git a/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractEndpoint.java b/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractEndpoint.java
index a613355..beb3a7f 100644
--- a/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractEndpoint.java
+++ b/services/wsn/wsn-core/src/main/java/org/apache/cxf/wsn/AbstractEndpoint.java
@@ -35,6 +35,8 @@ public abstract class AbstractEndpoint implements EndpointMBean {
protected EndpointManager manager;
protected Endpoint endpoint;
+
+ protected W3CEndpointReference endpointEpr;
public AbstractEndpoint(String name) {
this.name = name;
@@ -59,19 +61,24 @@ public abstract class AbstractEndpoint implements EndpointMBean {
public final URL getWSDLLocation() {
return CreatePullPoint.class.getClassLoader().getResource("org/apache/cxf/wsn/wsdl/wsn.wsdl");
}
- public void register() throws EndpointRegistrationException {
+ public synchronized void register() throws EndpointRegistrationException {
endpoint = manager.register(getAddress(), this, getWSDLLocation());
+ endpointEpr = null;
}
- public void unregister() throws EndpointRegistrationException {
+ public synchronized void unregister() throws EndpointRegistrationException {
if (endpoint != null) {
manager.unregister(endpoint, this);
+ endpointEpr = null;
}
}
- public W3CEndpointReference getEpr() {
+ public synchronized W3CEndpointReference getEpr() {
if (endpoint != null) {
- return manager.getEpr(endpoint);
+ if (endpointEpr == null) {
+ endpointEpr = manager.getEpr(endpoint);
+ }
+ return endpointEpr;
}
return null;
}