This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 78cd82cd306 CAMEL-18969 - Support mongodb connection string/uri to 
configure camel-mongodb component.
78cd82cd306 is described below

commit 78cd82cd306a8ba2479d36c33679536b6cdf7902
Author: Vaishnavi R <v...@var-thinkpadp1gen4i.remote.csb>
AuthorDate: Tue Jan 9 16:49:07 2024 +0530

    CAMEL-18969 - Support mongodb connection string/uri to configure 
camel-mongodb component.
---
 .../apache/camel/catalog/components/mongodb.json   | 83 +++++++++++-----------
 .../mongodb/MongoDbEndpointConfigurer.java         |  6 ++
 .../mongodb/MongoDbEndpointUriFactory.java         |  3 +-
 .../apache/camel/component/mongodb/mongodb.json    | 83 +++++++++++-----------
 .../camel/component/mongodb/MongoDbEndpoint.java   | 25 ++++++-
 .../dsl/MongoDbEndpointBuilderFactory.java         | 45 ++++++++++++
 6 files changed, 161 insertions(+), 84 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mongodb.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mongodb.json
index c2bcccbe9bd..09a30e1ff82 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mongodb.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mongodb.json
@@ -69,46 +69,47 @@
     "exceptionHandler": { "index": 11, "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": 12, "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." },
     "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 [...]
-    "appName": { "index": 14, "kind": "parameter", "displayName": "App Name", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the logical name of the application. The 
application name may be used by the client to identify the application to the 
server, for use in server logs, slow query logs, and profile collection. 
Default: null" },
-    "compressors": { "index": 15, "kind": "parameter", "displayName": 
"Compressors", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Specifies one or more 
compression algorithms that the driver will attempt to use to compress requests 
sent to the connected MongoDB instance. Possible values include: zlib, snappy, 
and zstd. Default: null" },
-    "connectTimeoutMS": { "index": 16, "kind": "parameter", "displayName": 
"Connect Timeout MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "10000", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver waits 
for a connection to open before timing out. A value of 0 instructs the driver 
to never time out while wait [...]
-    "cursorRegenerationDelay": { "index": 17, "kind": "parameter", 
"displayName": "Cursor Regeneration Delay", "group": "advanced", "label": 
"advanced", "required": false, "type": "duration", "javaType": "long", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1000", "description": "MongoDB tailable cursors will block until new data 
arrives. If no new data is inserted, after some time the cursor will be 
automatically freed and closed by the MongoDB server. The c [...]
-    "directConnection": { "index": 18, "kind": "parameter", "displayName": 
"Direct Connection", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Specifies that the driver must connect to the host directly. Default: false" },
-    "dynamicity": { "index": 19, "kind": "parameter", "displayName": 
"Dynamicity", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "Sets whether 
this endpoint will attempt to dynamically resolve the target database and 
collection from the incoming Exchange properties. Can be used to override at 
runtime the database and collection specified [...]
-    "heartbeatFrequencyMS": { "index": 20, "kind": "parameter", "displayName": 
"Heartbeat Frequency MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "description": "heartbeatFrequencyMS 
controls when the driver checks the state of the MongoDB deployment. Specify 
the interval (in milliseconds) between checks, counted from the end of the 
previous check until the be [...]
-    "loadBalanced": { "index": 21, "kind": "parameter", "displayName": "Load 
Balanced", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "If true the driver will 
assume that it's connecting to MongoDB through a load balancer." },
-    "localThresholdMS": { "index": 22, "kind": "parameter", "displayName": 
"Local Threshold MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "15", "description": "The 
size (in milliseconds) of the latency window for selecting among multiple 
suitable MongoDB instances. Default: 15 milliseconds." },
-    "maxConnecting": { "index": 23, "kind": "parameter", "displayName": "Max 
Connecting", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "2", "description": 
"Specifies the maximum number of connections a pool may be establishing 
concurrently. Default: 2" },
-    "maxIdleTimeMS": { "index": 24, "kind": "parameter", "displayName": "Max 
Idle Time MS", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver will 
allow a pooled connection to idle before closing the connection. A value of 0 
indicates that there is no upper bound [...]
-    "maxLifeTimeMS": { "index": 25, "kind": "parameter", "displayName": "Max 
Life Time MS", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver will 
continue to use a pooled connection before closing the connection. A value of 0 
indicates that there is no upper bou [...]
-    "maxPoolSize": { "index": 26, "kind": "parameter", "displayName": "Max 
Pool Size", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "100", "description": "The 
maximum number of connections in the connection pool. The default value is 
100." },
-    "maxStalenessSeconds": { "index": 27, "kind": "parameter", "displayName": 
"Max Staleness Seconds", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "-1", "description": 
"Specifies, in seconds, how stale a secondary can be before the driver stops 
communicating with that secondary. The minimum value is either 90 seconds or 
the heartbeat frequency plu [...]
-    "minPoolSize": { "index": 28, "kind": "parameter", "displayName": "Min 
Pool Size", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the minimum number of connections that must exist at any moment in a 
single connection pool. Default: 0" },
-    "readPreference": { "index": 29, "kind": "parameter", "displayName": "Read 
Preference", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "enum": [ "PRIMARY", 
"PRIMARY_PREFERRED", "SECONDARY", "SECONDARY_PREFERRED", "NEAREST" ], 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"PRIMARY", "description": "Configure how MongoDB clients route read operations 
to the members of a replica set. Possible val [...]
-    "readPreferenceTags": { "index": 30, "kind": "parameter", "displayName": 
"Read Preference Tags", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "A representation of a tag 
set as a comma-separated list of colon-separated key-value pairs, e.g. 
dc:ny,rack:1. Spaces are stripped from beginning and end of all keys and 
values. To specify a list of tag set [...]
-    "replicaSet": { "index": 31, "kind": "parameter", "displayName": "Replica 
Set", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Specifies that the connection string 
provided includes multiple hosts. When specified, the driver attempts to find 
all members of that set." },
-    "retryReads": { "index": 32, "kind": "parameter", "displayName": "Retry 
Reads", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Specifies that the 
driver must retry supported read operations if they fail due to a network 
error. Default: true" },
-    "retryWrites": { "index": 33, "kind": "parameter", "displayName": "Retry 
Writes", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Specifies that the 
driver must retry supported write operations if they fail due to a network 
error. Default: true" },
-    "serverSelectionTimeoutMS": { "index": 34, "kind": "parameter", 
"displayName": "Server Selection Timeout MS", "group": "advanced", "label": 
"advanced", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "30000", "description": "Specifies how long (in milliseconds) 
to block for server selection before throwing an exception. Default: 30,000 
milliseconds." },
-    "socketTimeoutMS": { "index": 35, "kind": "parameter", "displayName": 
"Socket Timeout MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver will 
wait to send or receive a request before timing out. A value of 0 instructs the 
driver to never time out while wa [...]
-    "srvMaxHosts": { "index": 36, "kind": "parameter", "displayName": "Srv Max 
Hosts", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "description": "The maximum number of hosts from the 
SRV record to connect to." },
-    "srvServiceName": { "index": 37, "kind": "parameter", "displayName": "Srv 
Service Name", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "mongodb", "description": 
"Specifies the service name of the SRV resource recordsthe driver retrieves to 
construct your seed list. You must use the DNS Seed List Connection Format in 
your connection URI to use this [...]
-    "tls": { "index": 38, "kind": "parameter", "displayName": "Tls", "group": 
"advanced", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Specifies that all communication 
with MongoDB instances should use TLS. Supersedes the ssl option. Default: 
false" },
-    "tlsAllowInvalidHostnames": { "index": 39, "kind": "parameter", 
"displayName": "Tls Allow Invalid Hostnames", "group": "advanced", "label": 
"advanced", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Specifies that the driver should allow invalid hostnames 
in the certificate for TLS connections. Supersedes sslInvalidHostNameAllowed. 
Has the same effect as tlsInsecure by setti [...]
-    "waitQueueTimeoutMS": { "index": 40, "kind": "parameter", "displayName": 
"Wait Queue Timeout MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "120000", "description": 
"Specifies the maximum amount of time, in milliseconds that a thread may wait 
for a connection to become available. Default: 120000 (120 seconds)" },
-    "writeConcern": { "index": 41, "kind": "parameter", "displayName": "Write 
Concern", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "enum": [ "ACKNOWLEDGED", "W1", "W2", 
"W3", "UNACKNOWLEDGED", "JOURNALED", "MAJORITY" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "ACKNOWLEDGED", 
"description": "Configure the connection bean with the level of acknowledgment 
requested from MongoDB for write op [...]
-    "writeResultAsHeader": { "index": 42, "kind": "parameter", "displayName": 
"Write Result As Header", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": "In 
write operations, it determines whether instead of returning WriteResult as the 
body of the OUT message, we transfer the IN message to the OUT and attach the 
WriteResult as a header." },
-    "zlibCompressionLevel": { "index": 43, "kind": "parameter", "displayName": 
"Zlib Compression Level", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "description": "Specifies the degree of 
compression that Zlib should use to decrease the size of requests to the 
connected MongoDB instance. The level can range from -1 to 9, with lower values 
compressing faster (but [...]
-    "fullDocument": { "index": 44, "kind": "parameter", "displayName": "Full 
Document", "group": "changeStream", "label": "consumer,changeStream", 
"required": false, "type": "object", "javaType": 
"com.mongodb.client.model.changestream.FullDocument", "enum": [ "default", 
"updateLookup", "required", "whenAvailable" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "default", "description": 
"Specifies whether changeStream consumer include a copy of the full docume [...]
-    "streamFilter": { "index": 45, "kind": "parameter", "displayName": "Stream 
Filter", "group": "changeStream", "label": "consumer,changeStream", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Filter condition for 
change streams consumer." },
-    "authSource": { "index": 46, "kind": "parameter", "displayName": "Auth 
Source", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "The database name associated with the 
user's credentials." },
-    "password": { "index": 47, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "User password for mongodb connection" },
-    "username": { "index": 48, "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 mongodb connection" },
-    "persistentId": { "index": 49, "kind": "parameter", "displayName": 
"Persistent Id", "group": "tail", "label": "consumer,tail", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "One tail tracking 
collection can host many trackers for several tailable consumers. To keep them 
separate, each tracker should have its own unique persistentId." },
-    "persistentTailTracking": { "index": 50, "kind": "parameter", 
"displayName": "Persistent Tail Tracking", "group": "tail", "label": 
"consumer,tail", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Enable persistent tail tracking, which is a mechanism to 
keep track of the last consumed message across system restarts. The next time 
the system is up, the endpoint will recover the [...]
-    "tailTrackCollection": { "index": 51, "kind": "parameter", "displayName": 
"Tail Track Collection", "group": "tail", "label": "consumer,tail", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Collection where tail 
tracking information will be persisted. If not specified, 
MongoDbTailTrackingConfig#DEFAULT_COLLECTION will be used by default." },
-    "tailTrackDb": { "index": 52, "kind": "parameter", "displayName": "Tail 
Track Db", "group": "tail", "label": "consumer,tail", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Indicates what database 
the tail tracking mechanism will persist to. If not specified, the current 
database will be picked by default. Dynamicity will not be taken into account 
even if enabled, i.e. the tail tracking da [...]
-    "tailTrackField": { "index": 53, "kind": "parameter", "displayName": "Tail 
Track Field", "group": "tail", "label": "consumer,tail", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Field where the last 
tracked value will be placed. If not specified, 
MongoDbTailTrackingConfig#DEFAULT_FIELD will be used by default." },
-    "tailTrackIncreasingField": { "index": 54, "kind": "parameter", 
"displayName": "Tail Track Increasing Field", "group": "tail", "label": 
"consumer,tail", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Correlation field in the incoming record which is of increasing 
nature and will be used to position the tailing cursor every time it is 
generated. The cursor will be (re)created with a query o [...]
+    "connectionUriString": { "index": 14, "kind": "parameter", "displayName": 
"Connection Uri String", "group": "additional", "label": "additional", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the whole Connection String\/Uri for mongodb endpoint." },
+    "appName": { "index": 15, "kind": "parameter", "displayName": "App Name", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the logical name of the application. The 
application name may be used by the client to identify the application to the 
server, for use in server logs, slow query logs, and profile collection. 
Default: null" },
+    "compressors": { "index": 16, "kind": "parameter", "displayName": 
"Compressors", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Specifies one or more 
compression algorithms that the driver will attempt to use to compress requests 
sent to the connected MongoDB instance. Possible values include: zlib, snappy, 
and zstd. Default: null" },
+    "connectTimeoutMS": { "index": 17, "kind": "parameter", "displayName": 
"Connect Timeout MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "10000", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver waits 
for a connection to open before timing out. A value of 0 instructs the driver 
to never time out while wait [...]
+    "cursorRegenerationDelay": { "index": 18, "kind": "parameter", 
"displayName": "Cursor Regeneration Delay", "group": "advanced", "label": 
"advanced", "required": false, "type": "duration", "javaType": "long", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1000", "description": "MongoDB tailable cursors will block until new data 
arrives. If no new data is inserted, after some time the cursor will be 
automatically freed and closed by the MongoDB server. The c [...]
+    "directConnection": { "index": 19, "kind": "parameter", "displayName": 
"Direct Connection", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Specifies that the driver must connect to the host directly. Default: false" },
+    "dynamicity": { "index": 20, "kind": "parameter", "displayName": 
"Dynamicity", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "Sets whether 
this endpoint will attempt to dynamically resolve the target database and 
collection from the incoming Exchange properties. Can be used to override at 
runtime the database and collection specified [...]
+    "heartbeatFrequencyMS": { "index": 21, "kind": "parameter", "displayName": 
"Heartbeat Frequency MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "description": "heartbeatFrequencyMS 
controls when the driver checks the state of the MongoDB deployment. Specify 
the interval (in milliseconds) between checks, counted from the end of the 
previous check until the be [...]
+    "loadBalanced": { "index": 22, "kind": "parameter", "displayName": "Load 
Balanced", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "If true the driver will 
assume that it's connecting to MongoDB through a load balancer." },
+    "localThresholdMS": { "index": 23, "kind": "parameter", "displayName": 
"Local Threshold MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "15", "description": "The 
size (in milliseconds) of the latency window for selecting among multiple 
suitable MongoDB instances. Default: 15 milliseconds." },
+    "maxConnecting": { "index": 24, "kind": "parameter", "displayName": "Max 
Connecting", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "2", "description": 
"Specifies the maximum number of connections a pool may be establishing 
concurrently. Default: 2" },
+    "maxIdleTimeMS": { "index": 25, "kind": "parameter", "displayName": "Max 
Idle Time MS", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver will 
allow a pooled connection to idle before closing the connection. A value of 0 
indicates that there is no upper bound [...]
+    "maxLifeTimeMS": { "index": 26, "kind": "parameter", "displayName": "Max 
Life Time MS", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver will 
continue to use a pooled connection before closing the connection. A value of 0 
indicates that there is no upper bou [...]
+    "maxPoolSize": { "index": 27, "kind": "parameter", "displayName": "Max 
Pool Size", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "100", "description": "The 
maximum number of connections in the connection pool. The default value is 
100." },
+    "maxStalenessSeconds": { "index": 28, "kind": "parameter", "displayName": 
"Max Staleness Seconds", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "-1", "description": 
"Specifies, in seconds, how stale a secondary can be before the driver stops 
communicating with that secondary. The minimum value is either 90 seconds or 
the heartbeat frequency plu [...]
+    "minPoolSize": { "index": 29, "kind": "parameter", "displayName": "Min 
Pool Size", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the minimum number of connections that must exist at any moment in a 
single connection pool. Default: 0" },
+    "readPreference": { "index": 30, "kind": "parameter", "displayName": "Read 
Preference", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "enum": [ "PRIMARY", 
"PRIMARY_PREFERRED", "SECONDARY", "SECONDARY_PREFERRED", "NEAREST" ], 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"PRIMARY", "description": "Configure how MongoDB clients route read operations 
to the members of a replica set. Possible val [...]
+    "readPreferenceTags": { "index": 31, "kind": "parameter", "displayName": 
"Read Preference Tags", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "A representation of a tag 
set as a comma-separated list of colon-separated key-value pairs, e.g. 
dc:ny,rack:1. Spaces are stripped from beginning and end of all keys and 
values. To specify a list of tag set [...]
+    "replicaSet": { "index": 32, "kind": "parameter", "displayName": "Replica 
Set", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Specifies that the connection string 
provided includes multiple hosts. When specified, the driver attempts to find 
all members of that set." },
+    "retryReads": { "index": 33, "kind": "parameter", "displayName": "Retry 
Reads", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Specifies that the 
driver must retry supported read operations if they fail due to a network 
error. Default: true" },
+    "retryWrites": { "index": 34, "kind": "parameter", "displayName": "Retry 
Writes", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Specifies that the 
driver must retry supported write operations if they fail due to a network 
error. Default: true" },
+    "serverSelectionTimeoutMS": { "index": 35, "kind": "parameter", 
"displayName": "Server Selection Timeout MS", "group": "advanced", "label": 
"advanced", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "30000", "description": "Specifies how long (in milliseconds) 
to block for server selection before throwing an exception. Default: 30,000 
milliseconds." },
+    "socketTimeoutMS": { "index": 36, "kind": "parameter", "displayName": 
"Socket Timeout MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver will 
wait to send or receive a request before timing out. A value of 0 instructs the 
driver to never time out while wa [...]
+    "srvMaxHosts": { "index": 37, "kind": "parameter", "displayName": "Srv Max 
Hosts", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "description": "The maximum number of hosts from the 
SRV record to connect to." },
+    "srvServiceName": { "index": 38, "kind": "parameter", "displayName": "Srv 
Service Name", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "mongodb", "description": 
"Specifies the service name of the SRV resource recordsthe driver retrieves to 
construct your seed list. You must use the DNS Seed List Connection Format in 
your connection URI to use this [...]
+    "tls": { "index": 39, "kind": "parameter", "displayName": "Tls", "group": 
"advanced", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Specifies that all communication 
with MongoDB instances should use TLS. Supersedes the ssl option. Default: 
false" },
+    "tlsAllowInvalidHostnames": { "index": 40, "kind": "parameter", 
"displayName": "Tls Allow Invalid Hostnames", "group": "advanced", "label": 
"advanced", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Specifies that the driver should allow invalid hostnames 
in the certificate for TLS connections. Supersedes sslInvalidHostNameAllowed. 
Has the same effect as tlsInsecure by setti [...]
+    "waitQueueTimeoutMS": { "index": 41, "kind": "parameter", "displayName": 
"Wait Queue Timeout MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "120000", "description": 
"Specifies the maximum amount of time, in milliseconds that a thread may wait 
for a connection to become available. Default: 120000 (120 seconds)" },
+    "writeConcern": { "index": 42, "kind": "parameter", "displayName": "Write 
Concern", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "enum": [ "ACKNOWLEDGED", "W1", "W2", 
"W3", "UNACKNOWLEDGED", "JOURNALED", "MAJORITY" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "ACKNOWLEDGED", 
"description": "Configure the connection bean with the level of acknowledgment 
requested from MongoDB for write op [...]
+    "writeResultAsHeader": { "index": 43, "kind": "parameter", "displayName": 
"Write Result As Header", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": "In 
write operations, it determines whether instead of returning WriteResult as the 
body of the OUT message, we transfer the IN message to the OUT and attach the 
WriteResult as a header." },
+    "zlibCompressionLevel": { "index": 44, "kind": "parameter", "displayName": 
"Zlib Compression Level", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "description": "Specifies the degree of 
compression that Zlib should use to decrease the size of requests to the 
connected MongoDB instance. The level can range from -1 to 9, with lower values 
compressing faster (but [...]
+    "fullDocument": { "index": 45, "kind": "parameter", "displayName": "Full 
Document", "group": "changeStream", "label": "consumer,changeStream", 
"required": false, "type": "object", "javaType": 
"com.mongodb.client.model.changestream.FullDocument", "enum": [ "default", 
"updateLookup", "required", "whenAvailable" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "default", "description": 
"Specifies whether changeStream consumer include a copy of the full docume [...]
+    "streamFilter": { "index": 46, "kind": "parameter", "displayName": "Stream 
Filter", "group": "changeStream", "label": "consumer,changeStream", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Filter condition for 
change streams consumer." },
+    "authSource": { "index": 47, "kind": "parameter", "displayName": "Auth 
Source", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "The database name associated with the 
user's credentials." },
+    "password": { "index": 48, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "User password for mongodb connection" },
+    "username": { "index": 49, "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 mongodb connection" },
+    "persistentId": { "index": 50, "kind": "parameter", "displayName": 
"Persistent Id", "group": "tail", "label": "consumer,tail", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "One tail tracking 
collection can host many trackers for several tailable consumers. To keep them 
separate, each tracker should have its own unique persistentId." },
+    "persistentTailTracking": { "index": 51, "kind": "parameter", 
"displayName": "Persistent Tail Tracking", "group": "tail", "label": 
"consumer,tail", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Enable persistent tail tracking, which is a mechanism to 
keep track of the last consumed message across system restarts. The next time 
the system is up, the endpoint will recover the [...]
+    "tailTrackCollection": { "index": 52, "kind": "parameter", "displayName": 
"Tail Track Collection", "group": "tail", "label": "consumer,tail", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Collection where tail 
tracking information will be persisted. If not specified, 
MongoDbTailTrackingConfig#DEFAULT_COLLECTION will be used by default." },
+    "tailTrackDb": { "index": 53, "kind": "parameter", "displayName": "Tail 
Track Db", "group": "tail", "label": "consumer,tail", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Indicates what database 
the tail tracking mechanism will persist to. If not specified, the current 
database will be picked by default. Dynamicity will not be taken into account 
even if enabled, i.e. the tail tracking da [...]
+    "tailTrackField": { "index": 54, "kind": "parameter", "displayName": "Tail 
Track Field", "group": "tail", "label": "consumer,tail", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Field where the last 
tracked value will be placed. If not specified, 
MongoDbTailTrackingConfig#DEFAULT_FIELD will be used by default." },
+    "tailTrackIncreasingField": { "index": 55, "kind": "parameter", 
"displayName": "Tail Track Increasing Field", "group": "tail", "label": 
"consumer,tail", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Correlation field in the incoming record which is of increasing 
nature and will be used to position the tailing cursor every time it is 
generated. The cursor will be (re)created with a query o [...]
   }
 }
diff --git 
a/components/camel-mongodb/src/generated/java/org/apache/camel/component/mongodb/MongoDbEndpointConfigurer.java
 
b/components/camel-mongodb/src/generated/java/org/apache/camel/component/mongodb/MongoDbEndpointConfigurer.java
index d395ee61336..dfb93d7f4eb 100644
--- 
a/components/camel-mongodb/src/generated/java/org/apache/camel/component/mongodb/MongoDbEndpointConfigurer.java
+++ 
b/components/camel-mongodb/src/generated/java/org/apache/camel/component/mongodb/MongoDbEndpointConfigurer.java
@@ -33,6 +33,8 @@ public class MongoDbEndpointConfigurer extends 
PropertyConfigurerSupport impleme
         case "compressors": target.setCompressors(property(camelContext, 
java.lang.String.class, value)); return true;
         case "connecttimeoutms":
         case "connectTimeoutMS": 
target.setConnectTimeoutMS(property(camelContext, java.lang.Integer.class, 
value)); return true;
+        case "connectionuristring":
+        case "connectionUriString": 
target.setConnectionUriString(property(camelContext, java.lang.String.class, 
value)); return true;
         case "consumertype":
         case "consumerType": target.setConsumerType(property(camelContext, 
java.lang.String.class, value)); return true;
         case "createcollection":
@@ -139,6 +141,8 @@ public class MongoDbEndpointConfigurer extends 
PropertyConfigurerSupport impleme
         case "compressors": return java.lang.String.class;
         case "connecttimeoutms":
         case "connectTimeoutMS": return java.lang.Integer.class;
+        case "connectionuristring":
+        case "connectionUriString": return java.lang.String.class;
         case "consumertype":
         case "consumerType": return java.lang.String.class;
         case "createcollection":
@@ -246,6 +250,8 @@ public class MongoDbEndpointConfigurer extends 
PropertyConfigurerSupport impleme
         case "compressors": return target.getCompressors();
         case "connecttimeoutms":
         case "connectTimeoutMS": return target.getConnectTimeoutMS();
+        case "connectionuristring":
+        case "connectionUriString": return target.getConnectionUriString();
         case "consumertype":
         case "consumerType": return target.getConsumerType();
         case "createcollection":
diff --git 
a/components/camel-mongodb/src/generated/java/org/apache/camel/component/mongodb/MongoDbEndpointUriFactory.java
 
b/components/camel-mongodb/src/generated/java/org/apache/camel/component/mongodb/MongoDbEndpointUriFactory.java
index 864a9e7fee4..19911b84c8c 100644
--- 
a/components/camel-mongodb/src/generated/java/org/apache/camel/component/mongodb/MongoDbEndpointUriFactory.java
+++ 
b/components/camel-mongodb/src/generated/java/org/apache/camel/component/mongodb/MongoDbEndpointUriFactory.java
@@ -21,7 +21,7 @@ public class MongoDbEndpointUriFactory extends 
org.apache.camel.support.componen
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(55);
+        Set<String> props = new HashSet<>(56);
         props.add("appName");
         props.add("authSource");
         props.add("bridgeErrorHandler");
@@ -30,6 +30,7 @@ public class MongoDbEndpointUriFactory extends 
org.apache.camel.support.componen
         props.add("compressors");
         props.add("connectTimeoutMS");
         props.add("connectionBean");
+        props.add("connectionUriString");
         props.add("consumerType");
         props.add("createCollection");
         props.add("cursorRegenerationDelay");
diff --git 
a/components/camel-mongodb/src/generated/resources/org/apache/camel/component/mongodb/mongodb.json
 
b/components/camel-mongodb/src/generated/resources/org/apache/camel/component/mongodb/mongodb.json
index c2bcccbe9bd..09a30e1ff82 100644
--- 
a/components/camel-mongodb/src/generated/resources/org/apache/camel/component/mongodb/mongodb.json
+++ 
b/components/camel-mongodb/src/generated/resources/org/apache/camel/component/mongodb/mongodb.json
@@ -69,46 +69,47 @@
     "exceptionHandler": { "index": 11, "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": 12, "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." },
     "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 [...]
-    "appName": { "index": 14, "kind": "parameter", "displayName": "App Name", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the logical name of the application. The 
application name may be used by the client to identify the application to the 
server, for use in server logs, slow query logs, and profile collection. 
Default: null" },
-    "compressors": { "index": 15, "kind": "parameter", "displayName": 
"Compressors", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Specifies one or more 
compression algorithms that the driver will attempt to use to compress requests 
sent to the connected MongoDB instance. Possible values include: zlib, snappy, 
and zstd. Default: null" },
-    "connectTimeoutMS": { "index": 16, "kind": "parameter", "displayName": 
"Connect Timeout MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "10000", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver waits 
for a connection to open before timing out. A value of 0 instructs the driver 
to never time out while wait [...]
-    "cursorRegenerationDelay": { "index": 17, "kind": "parameter", 
"displayName": "Cursor Regeneration Delay", "group": "advanced", "label": 
"advanced", "required": false, "type": "duration", "javaType": "long", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1000", "description": "MongoDB tailable cursors will block until new data 
arrives. If no new data is inserted, after some time the cursor will be 
automatically freed and closed by the MongoDB server. The c [...]
-    "directConnection": { "index": 18, "kind": "parameter", "displayName": 
"Direct Connection", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Specifies that the driver must connect to the host directly. Default: false" },
-    "dynamicity": { "index": 19, "kind": "parameter", "displayName": 
"Dynamicity", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "Sets whether 
this endpoint will attempt to dynamically resolve the target database and 
collection from the incoming Exchange properties. Can be used to override at 
runtime the database and collection specified [...]
-    "heartbeatFrequencyMS": { "index": 20, "kind": "parameter", "displayName": 
"Heartbeat Frequency MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "description": "heartbeatFrequencyMS 
controls when the driver checks the state of the MongoDB deployment. Specify 
the interval (in milliseconds) between checks, counted from the end of the 
previous check until the be [...]
-    "loadBalanced": { "index": 21, "kind": "parameter", "displayName": "Load 
Balanced", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "If true the driver will 
assume that it's connecting to MongoDB through a load balancer." },
-    "localThresholdMS": { "index": 22, "kind": "parameter", "displayName": 
"Local Threshold MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "15", "description": "The 
size (in milliseconds) of the latency window for selecting among multiple 
suitable MongoDB instances. Default: 15 milliseconds." },
-    "maxConnecting": { "index": 23, "kind": "parameter", "displayName": "Max 
Connecting", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "2", "description": 
"Specifies the maximum number of connections a pool may be establishing 
concurrently. Default: 2" },
-    "maxIdleTimeMS": { "index": 24, "kind": "parameter", "displayName": "Max 
Idle Time MS", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver will 
allow a pooled connection to idle before closing the connection. A value of 0 
indicates that there is no upper bound [...]
-    "maxLifeTimeMS": { "index": 25, "kind": "parameter", "displayName": "Max 
Life Time MS", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver will 
continue to use a pooled connection before closing the connection. A value of 0 
indicates that there is no upper bou [...]
-    "maxPoolSize": { "index": 26, "kind": "parameter", "displayName": "Max 
Pool Size", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "100", "description": "The 
maximum number of connections in the connection pool. The default value is 
100." },
-    "maxStalenessSeconds": { "index": 27, "kind": "parameter", "displayName": 
"Max Staleness Seconds", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "-1", "description": 
"Specifies, in seconds, how stale a secondary can be before the driver stops 
communicating with that secondary. The minimum value is either 90 seconds or 
the heartbeat frequency plu [...]
-    "minPoolSize": { "index": 28, "kind": "parameter", "displayName": "Min 
Pool Size", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the minimum number of connections that must exist at any moment in a 
single connection pool. Default: 0" },
-    "readPreference": { "index": 29, "kind": "parameter", "displayName": "Read 
Preference", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "enum": [ "PRIMARY", 
"PRIMARY_PREFERRED", "SECONDARY", "SECONDARY_PREFERRED", "NEAREST" ], 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"PRIMARY", "description": "Configure how MongoDB clients route read operations 
to the members of a replica set. Possible val [...]
-    "readPreferenceTags": { "index": 30, "kind": "parameter", "displayName": 
"Read Preference Tags", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "A representation of a tag 
set as a comma-separated list of colon-separated key-value pairs, e.g. 
dc:ny,rack:1. Spaces are stripped from beginning and end of all keys and 
values. To specify a list of tag set [...]
-    "replicaSet": { "index": 31, "kind": "parameter", "displayName": "Replica 
Set", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Specifies that the connection string 
provided includes multiple hosts. When specified, the driver attempts to find 
all members of that set." },
-    "retryReads": { "index": 32, "kind": "parameter", "displayName": "Retry 
Reads", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Specifies that the 
driver must retry supported read operations if they fail due to a network 
error. Default: true" },
-    "retryWrites": { "index": 33, "kind": "parameter", "displayName": "Retry 
Writes", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Specifies that the 
driver must retry supported write operations if they fail due to a network 
error. Default: true" },
-    "serverSelectionTimeoutMS": { "index": 34, "kind": "parameter", 
"displayName": "Server Selection Timeout MS", "group": "advanced", "label": 
"advanced", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "30000", "description": "Specifies how long (in milliseconds) 
to block for server selection before throwing an exception. Default: 30,000 
milliseconds." },
-    "socketTimeoutMS": { "index": 35, "kind": "parameter", "displayName": 
"Socket Timeout MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver will 
wait to send or receive a request before timing out. A value of 0 instructs the 
driver to never time out while wa [...]
-    "srvMaxHosts": { "index": 36, "kind": "parameter", "displayName": "Srv Max 
Hosts", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "description": "The maximum number of hosts from the 
SRV record to connect to." },
-    "srvServiceName": { "index": 37, "kind": "parameter", "displayName": "Srv 
Service Name", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "mongodb", "description": 
"Specifies the service name of the SRV resource recordsthe driver retrieves to 
construct your seed list. You must use the DNS Seed List Connection Format in 
your connection URI to use this [...]
-    "tls": { "index": 38, "kind": "parameter", "displayName": "Tls", "group": 
"advanced", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Specifies that all communication 
with MongoDB instances should use TLS. Supersedes the ssl option. Default: 
false" },
-    "tlsAllowInvalidHostnames": { "index": 39, "kind": "parameter", 
"displayName": "Tls Allow Invalid Hostnames", "group": "advanced", "label": 
"advanced", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Specifies that the driver should allow invalid hostnames 
in the certificate for TLS connections. Supersedes sslInvalidHostNameAllowed. 
Has the same effect as tlsInsecure by setti [...]
-    "waitQueueTimeoutMS": { "index": 40, "kind": "parameter", "displayName": 
"Wait Queue Timeout MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "120000", "description": 
"Specifies the maximum amount of time, in milliseconds that a thread may wait 
for a connection to become available. Default: 120000 (120 seconds)" },
-    "writeConcern": { "index": 41, "kind": "parameter", "displayName": "Write 
Concern", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "enum": [ "ACKNOWLEDGED", "W1", "W2", 
"W3", "UNACKNOWLEDGED", "JOURNALED", "MAJORITY" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "ACKNOWLEDGED", 
"description": "Configure the connection bean with the level of acknowledgment 
requested from MongoDB for write op [...]
-    "writeResultAsHeader": { "index": 42, "kind": "parameter", "displayName": 
"Write Result As Header", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": "In 
write operations, it determines whether instead of returning WriteResult as the 
body of the OUT message, we transfer the IN message to the OUT and attach the 
WriteResult as a header." },
-    "zlibCompressionLevel": { "index": 43, "kind": "parameter", "displayName": 
"Zlib Compression Level", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "description": "Specifies the degree of 
compression that Zlib should use to decrease the size of requests to the 
connected MongoDB instance. The level can range from -1 to 9, with lower values 
compressing faster (but [...]
-    "fullDocument": { "index": 44, "kind": "parameter", "displayName": "Full 
Document", "group": "changeStream", "label": "consumer,changeStream", 
"required": false, "type": "object", "javaType": 
"com.mongodb.client.model.changestream.FullDocument", "enum": [ "default", 
"updateLookup", "required", "whenAvailable" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "default", "description": 
"Specifies whether changeStream consumer include a copy of the full docume [...]
-    "streamFilter": { "index": 45, "kind": "parameter", "displayName": "Stream 
Filter", "group": "changeStream", "label": "consumer,changeStream", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Filter condition for 
change streams consumer." },
-    "authSource": { "index": 46, "kind": "parameter", "displayName": "Auth 
Source", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "The database name associated with the 
user's credentials." },
-    "password": { "index": 47, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "User password for mongodb connection" },
-    "username": { "index": 48, "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 mongodb connection" },
-    "persistentId": { "index": 49, "kind": "parameter", "displayName": 
"Persistent Id", "group": "tail", "label": "consumer,tail", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "One tail tracking 
collection can host many trackers for several tailable consumers. To keep them 
separate, each tracker should have its own unique persistentId." },
-    "persistentTailTracking": { "index": 50, "kind": "parameter", 
"displayName": "Persistent Tail Tracking", "group": "tail", "label": 
"consumer,tail", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Enable persistent tail tracking, which is a mechanism to 
keep track of the last consumed message across system restarts. The next time 
the system is up, the endpoint will recover the [...]
-    "tailTrackCollection": { "index": 51, "kind": "parameter", "displayName": 
"Tail Track Collection", "group": "tail", "label": "consumer,tail", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Collection where tail 
tracking information will be persisted. If not specified, 
MongoDbTailTrackingConfig#DEFAULT_COLLECTION will be used by default." },
-    "tailTrackDb": { "index": 52, "kind": "parameter", "displayName": "Tail 
Track Db", "group": "tail", "label": "consumer,tail", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Indicates what database 
the tail tracking mechanism will persist to. If not specified, the current 
database will be picked by default. Dynamicity will not be taken into account 
even if enabled, i.e. the tail tracking da [...]
-    "tailTrackField": { "index": 53, "kind": "parameter", "displayName": "Tail 
Track Field", "group": "tail", "label": "consumer,tail", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Field where the last 
tracked value will be placed. If not specified, 
MongoDbTailTrackingConfig#DEFAULT_FIELD will be used by default." },
-    "tailTrackIncreasingField": { "index": 54, "kind": "parameter", 
"displayName": "Tail Track Increasing Field", "group": "tail", "label": 
"consumer,tail", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Correlation field in the incoming record which is of increasing 
nature and will be used to position the tailing cursor every time it is 
generated. The cursor will be (re)created with a query o [...]
+    "connectionUriString": { "index": 14, "kind": "parameter", "displayName": 
"Connection Uri String", "group": "additional", "label": "additional", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the whole Connection String\/Uri for mongodb endpoint." },
+    "appName": { "index": 15, "kind": "parameter", "displayName": "App Name", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the logical name of the application. The 
application name may be used by the client to identify the application to the 
server, for use in server logs, slow query logs, and profile collection. 
Default: null" },
+    "compressors": { "index": 16, "kind": "parameter", "displayName": 
"Compressors", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Specifies one or more 
compression algorithms that the driver will attempt to use to compress requests 
sent to the connected MongoDB instance. Possible values include: zlib, snappy, 
and zstd. Default: null" },
+    "connectTimeoutMS": { "index": 17, "kind": "parameter", "displayName": 
"Connect Timeout MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "10000", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver waits 
for a connection to open before timing out. A value of 0 instructs the driver 
to never time out while wait [...]
+    "cursorRegenerationDelay": { "index": 18, "kind": "parameter", 
"displayName": "Cursor Regeneration Delay", "group": "advanced", "label": 
"advanced", "required": false, "type": "duration", "javaType": "long", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1000", "description": "MongoDB tailable cursors will block until new data 
arrives. If no new data is inserted, after some time the cursor will be 
automatically freed and closed by the MongoDB server. The c [...]
+    "directConnection": { "index": 19, "kind": "parameter", "displayName": 
"Direct Connection", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Specifies that the driver must connect to the host directly. Default: false" },
+    "dynamicity": { "index": 20, "kind": "parameter", "displayName": 
"Dynamicity", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "Sets whether 
this endpoint will attempt to dynamically resolve the target database and 
collection from the incoming Exchange properties. Can be used to override at 
runtime the database and collection specified [...]
+    "heartbeatFrequencyMS": { "index": 21, "kind": "parameter", "displayName": 
"Heartbeat Frequency MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "description": "heartbeatFrequencyMS 
controls when the driver checks the state of the MongoDB deployment. Specify 
the interval (in milliseconds) between checks, counted from the end of the 
previous check until the be [...]
+    "loadBalanced": { "index": 22, "kind": "parameter", "displayName": "Load 
Balanced", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "If true the driver will 
assume that it's connecting to MongoDB through a load balancer." },
+    "localThresholdMS": { "index": 23, "kind": "parameter", "displayName": 
"Local Threshold MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "15", "description": "The 
size (in milliseconds) of the latency window for selecting among multiple 
suitable MongoDB instances. Default: 15 milliseconds." },
+    "maxConnecting": { "index": 24, "kind": "parameter", "displayName": "Max 
Connecting", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "2", "description": 
"Specifies the maximum number of connections a pool may be establishing 
concurrently. Default: 2" },
+    "maxIdleTimeMS": { "index": 25, "kind": "parameter", "displayName": "Max 
Idle Time MS", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver will 
allow a pooled connection to idle before closing the connection. A value of 0 
indicates that there is no upper bound [...]
+    "maxLifeTimeMS": { "index": 26, "kind": "parameter", "displayName": "Max 
Life Time MS", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver will 
continue to use a pooled connection before closing the connection. A value of 0 
indicates that there is no upper bou [...]
+    "maxPoolSize": { "index": 27, "kind": "parameter", "displayName": "Max 
Pool Size", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "100", "description": "The 
maximum number of connections in the connection pool. The default value is 
100." },
+    "maxStalenessSeconds": { "index": 28, "kind": "parameter", "displayName": 
"Max Staleness Seconds", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "-1", "description": 
"Specifies, in seconds, how stale a secondary can be before the driver stops 
communicating with that secondary. The minimum value is either 90 seconds or 
the heartbeat frequency plu [...]
+    "minPoolSize": { "index": 29, "kind": "parameter", "displayName": "Min 
Pool Size", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the minimum number of connections that must exist at any moment in a 
single connection pool. Default: 0" },
+    "readPreference": { "index": 30, "kind": "parameter", "displayName": "Read 
Preference", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "enum": [ "PRIMARY", 
"PRIMARY_PREFERRED", "SECONDARY", "SECONDARY_PREFERRED", "NEAREST" ], 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"PRIMARY", "description": "Configure how MongoDB clients route read operations 
to the members of a replica set. Possible val [...]
+    "readPreferenceTags": { "index": 31, "kind": "parameter", "displayName": 
"Read Preference Tags", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "A representation of a tag 
set as a comma-separated list of colon-separated key-value pairs, e.g. 
dc:ny,rack:1. Spaces are stripped from beginning and end of all keys and 
values. To specify a list of tag set [...]
+    "replicaSet": { "index": 32, "kind": "parameter", "displayName": "Replica 
Set", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Specifies that the connection string 
provided includes multiple hosts. When specified, the driver attempts to find 
all members of that set." },
+    "retryReads": { "index": 33, "kind": "parameter", "displayName": "Retry 
Reads", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Specifies that the 
driver must retry supported read operations if they fail due to a network 
error. Default: true" },
+    "retryWrites": { "index": 34, "kind": "parameter", "displayName": "Retry 
Writes", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Specifies that the 
driver must retry supported write operations if they fail due to a network 
error. Default: true" },
+    "serverSelectionTimeoutMS": { "index": 35, "kind": "parameter", 
"displayName": "Server Selection Timeout MS", "group": "advanced", "label": 
"advanced", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "30000", "description": "Specifies how long (in milliseconds) 
to block for server selection before throwing an exception. Default: 30,000 
milliseconds." },
+    "socketTimeoutMS": { "index": 36, "kind": "parameter", "displayName": 
"Socket Timeout MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0", "description": 
"Specifies the maximum amount of time, in milliseconds, the Java driver will 
wait to send or receive a request before timing out. A value of 0 instructs the 
driver to never time out while wa [...]
+    "srvMaxHosts": { "index": 37, "kind": "parameter", "displayName": "Srv Max 
Hosts", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "description": "The maximum number of hosts from the 
SRV record to connect to." },
+    "srvServiceName": { "index": 38, "kind": "parameter", "displayName": "Srv 
Service Name", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "mongodb", "description": 
"Specifies the service name of the SRV resource recordsthe driver retrieves to 
construct your seed list. You must use the DNS Seed List Connection Format in 
your connection URI to use this [...]
+    "tls": { "index": 39, "kind": "parameter", "displayName": "Tls", "group": 
"advanced", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Specifies that all communication 
with MongoDB instances should use TLS. Supersedes the ssl option. Default: 
false" },
+    "tlsAllowInvalidHostnames": { "index": 40, "kind": "parameter", 
"displayName": "Tls Allow Invalid Hostnames", "group": "advanced", "label": 
"advanced", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Specifies that the driver should allow invalid hostnames 
in the certificate for TLS connections. Supersedes sslInvalidHostNameAllowed. 
Has the same effect as tlsInsecure by setti [...]
+    "waitQueueTimeoutMS": { "index": 41, "kind": "parameter", "displayName": 
"Wait Queue Timeout MS", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "120000", "description": 
"Specifies the maximum amount of time, in milliseconds that a thread may wait 
for a connection to become available. Default: 120000 (120 seconds)" },
+    "writeConcern": { "index": 42, "kind": "parameter", "displayName": "Write 
Concern", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "enum": [ "ACKNOWLEDGED", "W1", "W2", 
"W3", "UNACKNOWLEDGED", "JOURNALED", "MAJORITY" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "ACKNOWLEDGED", 
"description": "Configure the connection bean with the level of acknowledgment 
requested from MongoDB for write op [...]
+    "writeResultAsHeader": { "index": 43, "kind": "parameter", "displayName": 
"Write Result As Header", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": "In 
write operations, it determines whether instead of returning WriteResult as the 
body of the OUT message, we transfer the IN message to the OUT and attach the 
WriteResult as a header." },
+    "zlibCompressionLevel": { "index": 44, "kind": "parameter", "displayName": 
"Zlib Compression Level", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "description": "Specifies the degree of 
compression that Zlib should use to decrease the size of requests to the 
connected MongoDB instance. The level can range from -1 to 9, with lower values 
compressing faster (but [...]
+    "fullDocument": { "index": 45, "kind": "parameter", "displayName": "Full 
Document", "group": "changeStream", "label": "consumer,changeStream", 
"required": false, "type": "object", "javaType": 
"com.mongodb.client.model.changestream.FullDocument", "enum": [ "default", 
"updateLookup", "required", "whenAvailable" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "default", "description": 
"Specifies whether changeStream consumer include a copy of the full docume [...]
+    "streamFilter": { "index": 46, "kind": "parameter", "displayName": "Stream 
Filter", "group": "changeStream", "label": "consumer,changeStream", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Filter condition for 
change streams consumer." },
+    "authSource": { "index": 47, "kind": "parameter", "displayName": "Auth 
Source", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "The database name associated with the 
user's credentials." },
+    "password": { "index": 48, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "User password for mongodb connection" },
+    "username": { "index": 49, "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 mongodb connection" },
+    "persistentId": { "index": 50, "kind": "parameter", "displayName": 
"Persistent Id", "group": "tail", "label": "consumer,tail", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "One tail tracking 
collection can host many trackers for several tailable consumers. To keep them 
separate, each tracker should have its own unique persistentId." },
+    "persistentTailTracking": { "index": 51, "kind": "parameter", 
"displayName": "Persistent Tail Tracking", "group": "tail", "label": 
"consumer,tail", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Enable persistent tail tracking, which is a mechanism to 
keep track of the last consumed message across system restarts. The next time 
the system is up, the endpoint will recover the [...]
+    "tailTrackCollection": { "index": 52, "kind": "parameter", "displayName": 
"Tail Track Collection", "group": "tail", "label": "consumer,tail", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Collection where tail 
tracking information will be persisted. If not specified, 
MongoDbTailTrackingConfig#DEFAULT_COLLECTION will be used by default." },
+    "tailTrackDb": { "index": 53, "kind": "parameter", "displayName": "Tail 
Track Db", "group": "tail", "label": "consumer,tail", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Indicates what database 
the tail tracking mechanism will persist to. If not specified, the current 
database will be picked by default. Dynamicity will not be taken into account 
even if enabled, i.e. the tail tracking da [...]
+    "tailTrackField": { "index": 54, "kind": "parameter", "displayName": "Tail 
Track Field", "group": "tail", "label": "consumer,tail", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Field where the last 
tracked value will be placed. If not specified, 
MongoDbTailTrackingConfig#DEFAULT_FIELD will be used by default." },
+    "tailTrackIncreasingField": { "index": 55, "kind": "parameter", 
"displayName": "Tail Track Increasing Field", "group": "tail", "label": 
"consumer,tail", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Correlation field in the incoming record which is of increasing 
nature and will be used to position the tailing cursor every time it is 
generated. The cursor will be (re)created with a query o [...]
   }
 }
diff --git 
a/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbEndpoint.java
 
b/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbEndpoint.java
index 3da642328cf..a8c6eefc9a2 100644
--- 
a/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbEndpoint.java
+++ 
b/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbEndpoint.java
@@ -185,6 +185,10 @@ public class MongoDbEndpoint extends DefaultEndpoint {
     private boolean directConnection = false;
     @UriParam(label = "advanced")
     private boolean loadBalanced;
+    //additional properties
+    @UriParam(description = "Set the whole Connection String/Uri for mongodb 
endpoint.",
+              label = "additional", defaultValue = "null")
+    private String connectionUriString;
 
     // tailable cursor consumer by default
     private MongoDbConsumerType dbConsumerType;
@@ -410,7 +414,11 @@ public class MongoDbEndpoint extends DefaultEndpoint {
 
             String connectionOptions = authSource == null ? "" : 
"/?authSource=" + authSource;
 
-            mongoClient = 
MongoClients.create(String.format("mongodb://%s%s%s", credentials, hosts, 
connectionOptions));
+            if (connectionUriString != null) {
+                mongoClient = MongoClients.create(connectionUriString);
+            } else {
+                mongoClient = 
MongoClients.create(String.format("mongodb://%s%s%s", credentials, hosts, 
connectionOptions));
+            }
             LOG.debug("Connection created using provided credentials");
         } else {
             mongoClient = 
CamelContextHelper.mandatoryLookup(getCamelContext(), connectionBean, 
MongoClient.class);
@@ -1189,4 +1197,19 @@ public class MongoDbEndpoint extends DefaultEndpoint {
         return loadBalanced;
     }
 
+    /**
+     * Set the whole Connection String/Uri for mongodb endpoint. To be 
flexible and future proof about supporting all
+     * the mongodb client options
+     * 
https://www.mongodb.com/docs/drivers/java/sync/current/fundamentals/connection/connect/#connection-uri
+     *
+     * @param connectionUriString
+     */
+    public void setConnectionUriString(String connectionUriString) {
+        this.connectionUriString = connectionUriString;
+    }
+
+    public String getConnectionUriString() {
+        return connectionUriString;
+    }
+
 }
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MongoDbEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MongoDbEndpointBuilderFactory.java
index 860ce568ab9..d8848fc86f7 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MongoDbEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MongoDbEndpointBuilderFactory.java
@@ -255,6 +255,21 @@ public interface MongoDbEndpointBuilderFactory {
             doSetProperty("consumerType", consumerType);
             return this;
         }
+        /**
+         * Set the whole Connection String/Uri for mongodb endpoint.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: additional
+         * 
+         * @param connectionUriString the value to set
+         * @return the dsl builder
+         */
+        default MongoDbEndpointConsumerBuilder connectionUriString(
+                String connectionUriString) {
+            doSetProperty("connectionUriString", connectionUriString);
+            return this;
+        }
         /**
          * Specifies whether changeStream consumer include a copy of the full
          * document when modified by update operations. Possible values are
@@ -1806,6 +1821,21 @@ public interface MongoDbEndpointBuilderFactory {
             doSetProperty("outputType", outputType);
             return this;
         }
+        /**
+         * Set the whole Connection String/Uri for mongodb endpoint.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: additional
+         * 
+         * @param connectionUriString the value to set
+         * @return the dsl builder
+         */
+        default MongoDbEndpointProducerBuilder connectionUriString(
+                String connectionUriString) {
+            doSetProperty("connectionUriString", connectionUriString);
+            return this;
+        }
         /**
          * The database name associated with the user's credentials.
          * 
@@ -3101,6 +3131,21 @@ public interface MongoDbEndpointBuilderFactory {
             doSetProperty("outputType", outputType);
             return this;
         }
+        /**
+         * Set the whole Connection String/Uri for mongodb endpoint.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: additional
+         * 
+         * @param connectionUriString the value to set
+         * @return the dsl builder
+         */
+        default MongoDbEndpointBuilder connectionUriString(
+                String connectionUriString) {
+            doSetProperty("connectionUriString", connectionUriString);
+            return this;
+        }
         /**
          * The database name associated with the user's credentials.
          * 

Reply via email to