This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch ra in repository https://gitbox.apache.org/repos/asf/camel.git
commit 74e70e78914420cca4f1f650f9aecdb2c0d89d3e Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Tue May 28 07:32:25 2024 +0200 CAMEL-20798: Add RemoteAddress to endpoints so they can tell the url/hostname etc for the system it connects. This is needed for better monitoring, tracing and management. Add this information into camel-tracer as tags. --- .../hazelcast/HazelcastDefaultEndpoint.java | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java index 309c7a594ce..a2f1299d38d 100644 --- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java +++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java @@ -16,11 +16,13 @@ */ package org.apache.camel.component.hazelcast; +import com.hazelcast.cluster.Member; import com.hazelcast.core.HazelcastInstance; import org.apache.camel.Component; import org.apache.camel.Consumer; import org.apache.camel.Processor; import org.apache.camel.Producer; +import org.apache.camel.spi.EndpointServiceLocation; import org.apache.camel.spi.Metadata; import org.apache.camel.spi.UriParam; import org.apache.camel.spi.UriPath; @@ -29,7 +31,7 @@ import org.apache.camel.support.DefaultEndpoint; /** * The hazelcast component allows you to work with the Hazelcast distributed data grid / cache. */ -public abstract class HazelcastDefaultEndpoint extends DefaultEndpoint { +public abstract class HazelcastDefaultEndpoint extends DefaultEndpoint implements EndpointServiceLocation { protected HazelcastCommand command; @UriPath @@ -56,6 +58,23 @@ public abstract class HazelcastDefaultEndpoint extends DefaultEndpoint { this.hazelcastInstance = hazelcastInstance; } + @Override + public String getServiceUrl() { + var members = hazelcastInstance.getCluster().getMembers(); + if (!members.isEmpty()) { + Member member = members.iterator().next(); + String host = member.getAddress().getHost(); + int port = member.getAddress().getPort(); + return host + ":" + port; + } + return null; + } + + @Override + public String getServiceProtocol() { + return "hazelcast"; + } + @Override public abstract Consumer createConsumer(Processor processor) throws Exception;