CXF-5718 Suppose to override the instance.id of the managed endpoint with 
persistent one


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

Branch: refs/heads/2.7.x-fixes
Commit: 715d24acf463b14a56e06527aed02ccf8cb057ba
Parents: a54d329
Author: Willem Jiang <[email protected]>
Authored: Wed Apr 30 16:41:32 2014 +0800
Committer: Willem Jiang <[email protected]>
Committed: Wed Apr 30 16:43:18 2014 +0800

----------------------------------------------------------------------
 .../main/java/org/apache/cxf/endpoint/ManagedEndpoint.java    | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/715d24ac/api/src/main/java/org/apache/cxf/endpoint/ManagedEndpoint.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/cxf/endpoint/ManagedEndpoint.java 
b/api/src/main/java/org/apache/cxf/endpoint/ManagedEndpoint.java
index cd8fc28..c548adf 100644
--- a/api/src/main/java/org/apache/cxf/endpoint/ManagedEndpoint.java
+++ b/api/src/main/java/org/apache/cxf/endpoint/ManagedEndpoint.java
@@ -36,6 +36,7 @@ import org.apache.cxf.management.annotation.ManagedResource;
 public class ManagedEndpoint implements ManagedComponent, 
ServerLifeCycleListener {
     public static final String ENDPOINT_NAME = "managed.endpoint.name";
     public static final String SERVICE_NAME = "managed.service.name";
+    public static final String INSTANCE_ID = "managed.instance.id";
 
     protected final Bus bus;
     protected final Endpoint endpoint;
@@ -109,8 +110,12 @@ public class ManagedEndpoint implements ManagedComponent, 
ServerLifeCycleListene
         }
         endpointName = ObjectName.quote(endpointName);
         
buffer.append(ManagementConstants.PORT_NAME_PROP).append('=').append(endpointName).append(',');
+        String instanceId = (String)endpoint.get(INSTANCE_ID);
+        if (StringUtils.isEmpty(instanceId)) {
+            instanceId = new 
StringBuffer().append(endpoint.hashCode()).toString();
+        }
         // Added the instance id to make the ObjectName unique
-        
buffer.append(ManagementConstants.INSTANCE_ID_PROP).append('=').append(endpoint.hashCode());
+        
buffer.append(ManagementConstants.INSTANCE_ID_PROP).append('=').append(instanceId);
         
         //Use default domain name of server
         return new ObjectName(buffer.toString());

Reply via email to