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 de384d53c6891d2ec57bfaa2de8a681169ab77c4
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Sun May 26 10:49:39 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.
---
 .../cassandra/CassandraEndpointConfigurer.java     |  6 ---
 .../cassandra/CassandraEndpointUriFactory.java     |  8 +--
 .../org/apache/camel/component/cassandra/cql.json  | 59 +++++++++++-----------
 .../component/cassandra/CassandraEndpoint.java     | 35 ++++++++++---
 .../org/apache/camel/component/cm/CMEndpoint.java  |  8 ++-
 .../java/org/apache/camel/coap/CoAPEndpoint.java   | 11 +++-
 .../camel/component/cometd/CometdEndpoint.java     | 14 +++--
 .../component/couchbase/CouchbaseEndpoint.java     | 17 ++++++-
 .../camel/component/couchdb/CouchDbEndpoint.java   | 17 ++++++-
 .../decorators/ElasticsearchSpanDecorator.java     |  4 +-
 10 files changed, 122 insertions(+), 57 deletions(-)

diff --git 
a/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointConfigurer.java
 
b/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointConfigurer.java
index 77c78e8db98..0f8c86a4d59 100644
--- 
a/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointConfigurer.java
+++ 
b/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointConfigurer.java
@@ -33,8 +33,6 @@ public class CassandraEndpointConfigurer extends 
PropertyConfigurerSupport imple
         case "bridgeErrorHandler": 
target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); 
return true;
         case "clustername":
         case "clusterName": target.setClusterName(property(camelContext, 
java.lang.String.class, value)); return true;
-        case "consistencylevel":
-        case "consistencyLevel": 
target.setConsistencyLevel(property(camelContext, 
com.datastax.oss.driver.api.core.DefaultConsistencyLevel.class, value)); return 
true;
         case "cql": target.setCql(property(camelContext, 
java.lang.String.class, value)); return true;
         case "datacenter": target.setDatacenter(property(camelContext, 
java.lang.String.class, value)); return true;
         case "delay": target.setDelay(property(camelContext, long.class, 
value)); return true;
@@ -94,8 +92,6 @@ public class CassandraEndpointConfigurer extends 
PropertyConfigurerSupport imple
         case "bridgeErrorHandler": return boolean.class;
         case "clustername":
         case "clusterName": return java.lang.String.class;
-        case "consistencylevel":
-        case "consistencyLevel": return 
com.datastax.oss.driver.api.core.DefaultConsistencyLevel.class;
         case "cql": return java.lang.String.class;
         case "datacenter": return java.lang.String.class;
         case "delay": return long.class;
@@ -156,8 +152,6 @@ public class CassandraEndpointConfigurer extends 
PropertyConfigurerSupport imple
         case "bridgeErrorHandler": return target.isBridgeErrorHandler();
         case "clustername":
         case "clusterName": return target.getClusterName();
-        case "consistencylevel":
-        case "consistencyLevel": return target.getConsistencyLevel();
         case "cql": return target.getCql();
         case "datacenter": return target.getDatacenter();
         case "delay": return target.getDelay();
diff --git 
a/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointUriFactory.java
 
b/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointUriFactory.java
index a0e8c320f65..648b63030fd 100644
--- 
a/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointUriFactory.java
+++ 
b/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointUriFactory.java
@@ -23,14 +23,13 @@ public class CassandraEndpointUriFactory extends 
org.apache.camel.support.compon
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(35);
+        Set<String> props = new HashSet<>(34);
         props.add("backoffErrorThreshold");
         props.add("backoffIdleThreshold");
         props.add("backoffMultiplier");
         props.add("beanRef");
         props.add("bridgeErrorHandler");
         props.add("clusterName");
-        props.add("consistencyLevel");
         props.add("cql");
         props.add("datacenter");
         props.add("delay");
@@ -60,7 +59,10 @@ public class CassandraEndpointUriFactory extends 
org.apache.camel.support.compon
         props.add("useFixedDelay");
         props.add("username");
         PROPERTY_NAMES = Collections.unmodifiableSet(props);
-        SECRET_PROPERTY_NAMES = Collections.emptySet();
+        Set<String> secretProps = new HashSet<>(2);
+        secretProps.add("password");
+        secretProps.add("username");
+        SECRET_PROPERTY_NAMES = Collections.unmodifiableSet(secretProps);
         Set<String> prefixes = new HashSet<>(1);
         prefixes.add("scheduler.");
         MULTI_VALUE_PREFIXES = Collections.unmodifiableSet(prefixes);
diff --git 
a/components/camel-cassandraql/src/generated/resources/META-INF/org/apache/camel/component/cassandra/cql.json
 
b/components/camel-cassandraql/src/generated/resources/META-INF/org/apache/camel/component/cassandra/cql.json
index 53631807626..2250bc57ab3 100644
--- 
a/components/camel-cassandraql/src/generated/resources/META-INF/org/apache/camel/component/cassandra/cql.json
+++ 
b/components/camel-cassandraql/src/generated/resources/META-INF/org/apache/camel/component/cassandra/cql.json
@@ -37,35 +37,34 @@
     "port": { "index": 2, "kind": "path", "displayName": "Port", "group": 
"common", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"description": "Port number of Cassandra server(s)" },
     "keyspace": { "index": 3, "kind": "path", "displayName": "Keyspace", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Keyspace to use" },
     "clusterName": { "index": 4, "kind": "parameter", "displayName": "Cluster 
Name", "group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Cluster name" },
-    "consistencyLevel": { "index": 5, "kind": "parameter", "displayName": 
"Consistency Level", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": 
"com.datastax.oss.driver.api.core.DefaultConsistencyLevel", "enum": [ "ANY", 
"ONE", "TWO", "THREE", "QUORUM", "ALL", "LOCAL_ONE", "LOCAL_QUORUM", 
"EACH_QUORUM", "SERIAL", "LOCAL_SERIAL" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Consistency level to use" },
-    "cql": { "index": 6, "kind": "parameter", "displayName": "Cql", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "CQL query to perform. Can be overridden with the message header 
with key CamelCqlQuery." },
-    "datacenter": { "index": 7, "kind": "parameter", "displayName": 
"Datacenter", "group": "common", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "datacenter1", "description": 
"Datacenter to use" },
-    "extraTypeCodecs": { "index": 8, "kind": "parameter", "displayName": 
"Extra Type Codecs", "group": "common", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a specific comma separated list 
of Extra Type codecs. Possible values are: BLOB_TO_ARRAY, 
BOOLEAN_LIST_TO_ARRAY, BYTE_LIST_TO_ARRAY, SHORT_LIST_TO_ARRAY, 
INT_LIST_TO_ARRAY, LONG_LIST_TO_ARRAY, FLOAT_LIST_TO_ARRAY, DO [...]
-    "loadBalancingPolicyClass": { "index": 9, "kind": "parameter", 
"displayName": "Load Balancing Policy Class", "group": "common", "label": "", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a specific LoadBalancingPolicyClass" },
-    "password": { "index": 10, "kind": "parameter", "displayName": "Password", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Password for session authentication" },
-    "prepareStatements": { "index": 11, "kind": "parameter", "displayName": 
"Prepare Statements", "group": "common", "label": "", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": true, "description": "Whether to use 
PreparedStatements or regular Statements" },
-    "resultSetConversionStrategy": { "index": 12, "kind": "parameter", 
"displayName": "Result Set Conversion Strategy", "group": "common", "label": 
"", "required": false, "type": "object", "javaType": 
"org.apache.camel.component.cassandra.ResultSetConversionStrategy", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a custom class that implements logic for converting ResultSet into message 
body ALL, ONE, LIMIT_10, LIMIT_100..." },
-    "session": { "index": 13, "kind": "parameter", "displayName": "Session", 
"group": "common", "label": "", "required": false, "type": "object", 
"javaType": "com.datastax.oss.driver.api.core.CqlSession", "deprecated": false, 
"autowired": false, "secret": false, "description": "To use the Session 
instance (you would normally not use this option)" },
-    "username": { "index": 14, "kind": "parameter", "displayName": "Username", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Username for session authentication" },
-    "sendEmptyMessageWhenIdle": { "index": 15, "kind": "parameter", 
"displayName": "Send Empty Message When Idle", "group": "consumer", "label": 
"consumer", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "If the polling consumer did not poll any files, you can 
enable this option to send an empty message (no body) instead." },
-    "bridgeErrorHandler": { "index": 16, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming [...]
-    "exceptionHandler": { "index": 17, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By de [...]
-    "exchangePattern": { "index": 18, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
-    "pollStrategy": { "index": 19, "kind": "parameter", "displayName": "Poll 
Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, 
"autowired": false, "secret": false, "description": "A pluggable 
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your 
custom implementation to control error handling usually occurred during the po 
[...]
-    "lazyStartProducer": { "index": 20, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
-    "backoffErrorThreshold": { "index": 21, "kind": "parameter", 
"displayName": "Backoff Error Threshold", "group": "scheduler", "label": 
"consumer,scheduler", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
number of subsequent error polls (failed due some error) that should happen 
before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 22, "kind": "parameter", "displayName": 
"Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "The number of subsequent 
idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 23, "kind": "parameter", "displayName": 
"Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "To let the scheduled 
polling consumer backoff if there has been a number of subsequent idles\/errors 
in a row. The multiplier is then the number of polls that will be skipped 
before the next actual attempt is h [...]
-    "delay": { "index": 24, "kind": "parameter", "displayName": "Delay", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 500, "description": "Milliseconds before the 
next poll." },
-    "greedy": { "index": 25, "kind": "parameter", "displayName": "Greedy", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "If greedy is enabled, 
then the ScheduledPollConsumer will run immediately again, if the previous run 
polled 1 or more messages." },
-    "initialDelay": { "index": 26, "kind": "parameter", "displayName": 
"Initial Delay", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "long", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 1000, "description": 
"Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 27, "kind": "parameter", "displayName": "Repeat 
Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 0, "description": "Specifies a maximum limit 
of number of fires. So if you set it to 1, the scheduler will only fire once. 
If you set it to 5, it will only fire five times. A value of zero or negative 
means fire forever." },
-    "runLoggingLevel": { "index": 28, "kind": "parameter", "displayName": "Run 
Logging Level", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", 
"ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "TRACE", "description": "The consumer logs a start\/complete 
log line when it polls. This option allows you to configure the l [...]
-    "scheduledExecutorService": { "index": 29, "kind": "parameter", 
"displayName": "Scheduled Executor Service", "group": "scheduler", "label": 
"consumer,scheduler", "required": false, "type": "object", "javaType": 
"java.util.concurrent.ScheduledExecutorService", "deprecated": false, 
"autowired": false, "secret": false, "description": "Allows for configuring a 
custom\/shared thread pool to use for the consumer. By default each consumer 
has its own single threaded thread pool." },
-    "scheduler": { "index": 30, "kind": "parameter", "displayName": 
"Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": 
false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "none", "description": "To 
use a cron scheduler from either camel-spring or camel-quartz component. Use 
value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 31, "kind": "parameter", "displayName": 
"Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", 
"multiValue": true, "deprecated": false, "autowired": false, "secret": false, 
"description": "To configure additional properties when using a custom 
scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 32, "kind": "parameter", "displayName": 
"Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 33, "kind": "parameter", "displayName": "Time 
Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, 
"type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ 
"NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", 
"DAYS" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and 
delay options." },
-    "useFixedDelay": { "index": 34, "kind": "parameter", "displayName": "Use 
Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in 
JDK for details." }
+    "cql": { "index": 5, "kind": "parameter", "displayName": "Cql", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "CQL query to perform. Can be overridden with the message header 
with key CamelCqlQuery." },
+    "datacenter": { "index": 6, "kind": "parameter", "displayName": 
"Datacenter", "group": "common", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "datacenter1", "description": 
"Datacenter to use" },
+    "prepareStatements": { "index": 7, "kind": "parameter", "displayName": 
"Prepare Statements", "group": "common", "label": "", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": true, "description": "Whether to use 
PreparedStatements or regular Statements" },
+    "sendEmptyMessageWhenIdle": { "index": 8, "kind": "parameter", 
"displayName": "Send Empty Message When Idle", "group": "consumer", "label": 
"consumer", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "If the polling consumer did not poll any files, you can 
enable this option to send an empty message (no body) instead." },
+    "bridgeErrorHandler": { "index": 9, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming  [...]
+    "exceptionHandler": { "index": 10, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By de [...]
+    "exchangePattern": { "index": 11, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
+    "pollStrategy": { "index": 12, "kind": "parameter", "displayName": "Poll 
Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, 
"autowired": false, "secret": false, "description": "A pluggable 
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your 
custom implementation to control error handling usually occurred during the po 
[...]
+    "lazyStartProducer": { "index": 13, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
+    "extraTypeCodecs": { "index": 14, "kind": "parameter", "displayName": 
"Extra Type Codecs", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "To use a specific comma 
separated list of Extra Type codecs. Possible values are: BLOB_TO_ARRAY, 
BOOLEAN_LIST_TO_ARRAY, BYTE_LIST_TO_ARRAY, SHORT_LIST_TO_ARRAY, 
INT_LIST_TO_ARRAY, LONG_LIST_TO_ARRAY, FLOAT_LIST_T [...]
+    "loadBalancingPolicyClass": { "index": 15, "kind": "parameter", 
"displayName": "Load Balancing Policy Class", "group": "advanced", "label": 
"advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "To use a specific LoadBalancingPolicyClass" },
+    "resultSetConversionStrategy": { "index": 16, "kind": "parameter", 
"displayName": "Result Set Conversion Strategy", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.component.cassandra.ResultSetConversionStrategy", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a custom class that implements logic for converting ResultSet into message 
body ALL, ONE, LIMIT_10, LIMIT_100..." },
+    "session": { "index": 17, "kind": "parameter", "displayName": "Session", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "com.datastax.oss.driver.api.core.CqlSession", "deprecated": false, 
"autowired": false, "secret": false, "description": "To use the Session 
instance (you would normally not use this option)" },
+    "backoffErrorThreshold": { "index": 18, "kind": "parameter", 
"displayName": "Backoff Error Threshold", "group": "scheduler", "label": 
"consumer,scheduler", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
number of subsequent error polls (failed due some error) that should happen 
before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "index": 19, "kind": "parameter", "displayName": 
"Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "The number of subsequent 
idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "index": 20, "kind": "parameter", "displayName": 
"Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "To let the scheduled 
polling consumer backoff if there has been a number of subsequent idles\/errors 
in a row. The multiplier is then the number of polls that will be skipped 
before the next actual attempt is h [...]
+    "delay": { "index": 21, "kind": "parameter", "displayName": "Delay", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 500, "description": "Milliseconds before the 
next poll." },
+    "greedy": { "index": 22, "kind": "parameter", "displayName": "Greedy", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "If greedy is enabled, 
then the ScheduledPollConsumer will run immediately again, if the previous run 
polled 1 or more messages." },
+    "initialDelay": { "index": 23, "kind": "parameter", "displayName": 
"Initial Delay", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "long", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 1000, "description": 
"Milliseconds before the first poll starts." },
+    "repeatCount": { "index": 24, "kind": "parameter", "displayName": "Repeat 
Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 0, "description": "Specifies a maximum limit 
of number of fires. So if you set it to 1, the scheduler will only fire once. 
If you set it to 5, it will only fire five times. A value of zero or negative 
means fire forever." },
+    "runLoggingLevel": { "index": 25, "kind": "parameter", "displayName": "Run 
Logging Level", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", 
"ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "TRACE", "description": "The consumer logs a start\/complete 
log line when it polls. This option allows you to configure the l [...]
+    "scheduledExecutorService": { "index": 26, "kind": "parameter", 
"displayName": "Scheduled Executor Service", "group": "scheduler", "label": 
"consumer,scheduler", "required": false, "type": "object", "javaType": 
"java.util.concurrent.ScheduledExecutorService", "deprecated": false, 
"autowired": false, "secret": false, "description": "Allows for configuring a 
custom\/shared thread pool to use for the consumer. By default each consumer 
has its own single threaded thread pool." },
+    "scheduler": { "index": 27, "kind": "parameter", "displayName": 
"Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": 
false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "none", "description": "To 
use a cron scheduler from either camel-spring or camel-quartz component. Use 
value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "index": 28, "kind": "parameter", "displayName": 
"Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", 
"multiValue": true, "deprecated": false, "autowired": false, "secret": false, 
"description": "To configure additional properties when using a custom 
scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "index": 29, "kind": "parameter", "displayName": 
"Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "index": 30, "kind": "parameter", "displayName": "Time 
Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, 
"type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ 
"NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", 
"DAYS" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and 
delay options." },
+    "useFixedDelay": { "index": 31, "kind": "parameter", "displayName": "Use 
Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in 
JDK for details." },
+    "password": { "index": 32, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "Password for session authentication" },
+    "username": { "index": 33, "kind": "parameter", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "Username for session authentication" }
   }
 }
diff --git 
a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
 
b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
index 873ebe15b06..8ded8f138c3 100644
--- 
a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
+++ 
b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.cassandra;
 
 import java.net.InetSocketAddress;
 import java.util.Arrays;
+import java.util.Map;
 
 import com.datastax.oss.driver.api.core.ConsistencyLevel;
 import com.datastax.oss.driver.api.core.CqlSession;
@@ -34,6 +35,7 @@ import org.apache.camel.Consumer;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
+import org.apache.camel.spi.EndpointLocationAddress;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -51,7 +53,7 @@ import org.slf4j.LoggerFactory;
  */
 @UriEndpoint(firstVersion = "2.15.0", scheme = "cql", title = "Cassandra CQL", 
syntax = "cql:beanRef:hosts:port/keyspace",
              category = { Category.DATABASE, Category.BIGDATA }, headersClass 
= CassandraConstants.class)
-public class CassandraEndpoint extends ScheduledPollEndpoint {
+public class CassandraEndpoint extends ScheduledPollEndpoint implements 
EndpointLocationAddress {
     private static final Logger LOG = 
LoggerFactory.getLogger(CassandraEndpoint.class);
 
     private volatile CassandraSessionHolder sessionHolder;
@@ -72,19 +74,18 @@ public class CassandraEndpoint extends 
ScheduledPollEndpoint {
     private boolean prepareStatements = true;
     @UriParam
     private String clusterName;
-    @UriParam
+    @UriParam(label = "security", secret = true)
     private String username;
-    @UriParam
+    @UriParam(label = "security", secret = true)
     private String password;
-    @UriParam
+    @UriParam(label = "advanced")
     private CqlSession session;
-    @UriParam
     private DefaultConsistencyLevel consistencyLevel;
-    @UriParam
+    @UriParam(label = "advanced")
     private String loadBalancingPolicyClass;
-    @UriParam
+    @UriParam(label = "advanced")
     private ResultSetConversionStrategy resultSetConversionStrategy = 
ResultSetConversionStrategies.all();
-    @UriParam
+    @UriParam(label = "advanced")
     private String extraTypeCodecs;
 
     public CassandraEndpoint(String endpointUri, Component component) {
@@ -97,6 +98,24 @@ public class CassandraEndpoint extends ScheduledPollEndpoint 
{
         this.keyspace = keyspace;
     }
 
+    @Override
+    public String getAddress() {
+        if (hosts != null && port != null) {
+            return hosts + ":" + port;
+        } else if (hosts != null) {
+            return hosts;
+        }
+        return null;
+    }
+
+    @Override
+    public Map<String, String> getAddressMetadata() {
+        if (username != null) {
+            return Map.of("username", username);
+        }
+        return null;
+    }
+
     @Override
     public Producer createProducer() throws Exception {
         return new CassandraProducer(this);
diff --git 
a/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMEndpoint.java
 
b/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMEndpoint.java
index 49d5fde056c..6580e7478b6 100644
--- 
a/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMEndpoint.java
+++ 
b/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMEndpoint.java
@@ -22,6 +22,7 @@ import org.apache.camel.Category;
 import org.apache.camel.Consumer;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.Processor;
+import org.apache.camel.spi.EndpointLocationAddress;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -37,7 +38,7 @@ import 
org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
  */
 @UriEndpoint(firstVersion = "2.18.0", scheme = "cm-sms", title = "CM SMS 
Gateway", syntax = "cm-sms:host",
              category = { Category.MOBILE }, producerOnly = true)
-public class CMEndpoint extends DefaultEndpoint {
+public class CMEndpoint extends DefaultEndpoint implements 
EndpointLocationAddress {
 
     @UriPath
     @Metadata(required = true)
@@ -82,6 +83,11 @@ public class CMEndpoint extends DefaultEndpoint {
         throw new UnsupportedOperationException("Consumer not supported");
     }
 
+    @Override
+    public String getAddress() {
+        return host;
+    }
+
     public CMConfiguration getConfiguration() {
         return configuration;
     }
diff --git 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
index 08891910855..5cec4e330b3 100644
--- 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
+++ 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
@@ -37,6 +37,7 @@ import org.apache.camel.Category;
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
+import org.apache.camel.spi.EndpointLocationAddress;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -75,7 +76,7 @@ import static 
org.eclipse.californium.scandium.config.DtlsConfig.DTLS_RECOMMENDE
  */
 @UriEndpoint(firstVersion = "2.16.0", scheme = 
"coap,coaps,coap+tcp,coaps+tcp", title = "CoAP", syntax = "coap:uri",
              category = { Category.IOT }, headersClass = CoAPConstants.class)
-public class CoAPEndpoint extends DefaultEndpoint {
+public class CoAPEndpoint extends DefaultEndpoint implements 
EndpointLocationAddress {
     final static Logger LOGGER = LoggerFactory.getLogger(CoAPEndpoint.class);
     @UriPath
     private URI uri;
@@ -119,6 +120,14 @@ public class CoAPEndpoint extends DefaultEndpoint {
         this.component = component;
     }
 
+    @Override
+    public String getAddress() {
+        if (uri != null) {
+            return uri.toString();
+        }
+        return null;
+    }
+
     public void setCoapMethodRestrict(String coapMethodRestrict) {
         this.coapMethodRestrict = coapMethodRestrict;
     }
diff --git 
a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
 
b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
index 6b927084697..f47a1dcf2f5 100644
--- 
a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
+++ 
b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
@@ -23,6 +23,7 @@ import org.apache.camel.Category;
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
+import org.apache.camel.spi.EndpointLocationAddress;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -38,20 +39,20 @@ import org.apache.camel.util.ObjectHelper;
  */
 @UriEndpoint(firstVersion = "2.0.0", scheme = "cometd,cometds", title = 
"CometD", syntax = "cometd:host:port/channelName",
              category = { Category.NETWORKING, Category.MESSAGING }, 
headersClass = CometdBinding.class)
-public class CometdEndpoint extends DefaultEndpoint {
+public class CometdEndpoint extends DefaultEndpoint implements 
EndpointLocationAddress {
 
     private CometdComponent component;
 
     private URI uri;
     @UriPath(description = "Hostname")
     @Metadata(required = true)
-    private String host; // TODO field is reported unread
+    private String host;
     @UriPath(description = "Host port number")
     @Metadata(required = true)
-    private int port; // TODO field is reported unread
+    private int port;
     @UriPath(description = "The channelName represents a topic that can be 
subscribed to by the Camel endpoints.")
     @Metadata(required = true)
-    private String channelName; // TODO field is reported unread
+    private String channelName;
     @UriParam
     private String baseResource;
     @UriParam(defaultValue = "240000")
@@ -90,6 +91,11 @@ public class CometdEndpoint extends DefaultEndpoint {
         }
     }
 
+    @Override
+    public String getAddress() {
+        return getProtocol() + ":" + host + ":" + getPort();
+    }
+
     @Override
     public Producer createProducer() throws Exception {
         ObjectHelper.notNull(component, "component");
diff --git 
a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
 
b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
index 018b69463aa..604c06660ac 100644
--- 
a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
+++ 
b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.LinkedHashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -35,6 +36,7 @@ import org.apache.camel.Category;
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
+import org.apache.camel.spi.EndpointLocationAddress;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -57,7 +59,7 @@ import static 
org.apache.camel.component.couchbase.CouchbaseConstants.DEFAULT_VI
  */
 @UriEndpoint(firstVersion = "2.19.0", scheme = "couchbase", title = 
"Couchbase", syntax = "couchbase:protocol://hostname:port",
              category = { Category.DATABASE }, headersClass = 
CouchbaseConstants.class)
-public class CouchbaseEndpoint extends ScheduledPollEndpoint {
+public class CouchbaseEndpoint extends ScheduledPollEndpoint implements 
EndpointLocationAddress {
 
     @UriPath
     @Metadata(required = true)
@@ -165,6 +167,19 @@ public class CouchbaseEndpoint extends 
ScheduledPollEndpoint {
         super(endpointUri, component);
     }
 
+    @Override
+    public String getAddress() {
+        return protocol + ":" + hostname + ":" + port;
+    }
+
+    @Override
+    public Map<String, String> getAddressMetadata() {
+        if (username != null) {
+            return Map.of("username", username);
+        }
+        return null;
+    }
+
     @Override
     public Producer createProducer() throws Exception {
         return new CouchbaseProducer(this, createClient(), persistTo, 
replicateTo);
diff --git 
a/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
 
b/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
index 15962d61566..7419dd78788 100644
--- 
a/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
+++ 
b/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
@@ -17,11 +17,13 @@
 package org.apache.camel.component.couchdb;
 
 import java.net.URI;
+import java.util.Map;
 
 import org.apache.camel.Category;
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
+import org.apache.camel.spi.EndpointLocationAddress;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -35,7 +37,7 @@ import org.lightcouch.CouchDbClient;
  */
 @UriEndpoint(firstVersion = "2.11.0", scheme = "couchdb", title = "CouchDB", 
syntax = "couchdb:protocol:hostname:port/database",
              category = { Category.DATABASE }, headersClass = 
CouchDbConstants.class)
-public class CouchDbEndpoint extends DefaultEndpoint {
+public class CouchDbEndpoint extends DefaultEndpoint implements 
EndpointLocationAddress {
 
     public static final String DEFAULT_STYLE = "main_only";
     public static final long DEFAULT_HEARTBEAT = 30000;
@@ -96,6 +98,19 @@ public class CouchDbEndpoint extends DefaultEndpoint {
         }
     }
 
+    @Override
+    public String getAddress() {
+        return getProtocol() + ":" + getHostname() + ":" + getPort();
+    }
+
+    @Override
+    public Map<String, String> getAddressMetadata() {
+        if (username != null) {
+            return Map.of("username", username);
+        }
+        return null;
+    }
+
     @Override
     public Consumer createConsumer(Processor processor) throws Exception {
         CouchDbConsumer answer = new CouchDbConsumer(this, createClient(), 
processor);
diff --git 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/ElasticsearchSpanDecorator.java
 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/ElasticsearchSpanDecorator.java
index 8d3083a89e7..d704fe982ff 100644
--- 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/ElasticsearchSpanDecorator.java
+++ 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/ElasticsearchSpanDecorator.java
@@ -33,12 +33,12 @@ public class ElasticsearchSpanDecorator extends 
AbstractSpanDecorator {
 
     @Override
     public String getComponent() {
-        return "elasticsearch-rest";
+        return "elasticsearch";
     }
 
     @Override
     public String getComponentClassName() {
-        return 
"org.apache.camel.component.elasticsearch.ElasticsearchComponent";
+        return "org.apache.camel.component.es.ElasticsearchComponent";
     }
 
     @Override


Reply via email to