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

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


The following commit(s) were added to refs/heads/main by this push:
     new e98bb465 [create-pull-request] automated change (#220)
e98bb465 is described below

commit e98bb4654f6265f9e03f5e8acd5b1b679d146cf4
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Dec 2 06:57:59 2022 +0100

    [create-pull-request] automated change (#220)
    
    Co-authored-by: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
---
 .../camel/catalog/karaf/components.properties      |  3 +
 .../catalog/karaf/components/mongodb-gridfs.json   | 61 +++++++++++++++
 .../camel/catalog/karaf/components/mongodb.json    | 87 ++++++++++++++++++++++
 .../catalog/karaf/components/spring-redis.json     | 75 +++++++++++++++++++
 4 files changed, 226 insertions(+)

diff --git 
a/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components.properties
 
b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components.properties
index 01c5218a..c69f260f 100644
--- 
a/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components.properties
+++ 
b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components.properties
@@ -111,6 +111,8 @@ mina
 minio
 mllp
 mock
+mongodb
+mongodb-gridfs
 mustache
 mvel
 mybatis
@@ -154,6 +156,7 @@ splunk
 spring-batch
 spring-jdbc
 spring-ldap
+spring-redis
 spring-ws
 sql
 ssh
diff --git 
a/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/mongodb-gridfs.json
 
b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/mongodb-gridfs.json
new file mode 100644
index 00000000..2ae5df77
--- /dev/null
+++ 
b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/mongodb-gridfs.json
@@ -0,0 +1,61 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "mongodb-gridfs",
+    "title": "MongoDB GridFS",
+    "description": "Interact with MongoDB GridFS.",
+    "deprecated": false,
+    "firstVersion": "2.18.0",
+    "label": "database,nosql",
+    "javaType": "org.apache.camel.component.mongodb.gridfs.GridFsComponent",
+    "supportLevel": "Stable",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-mongodb-gridfs",
+    "version": "3.20.0-SNAPSHOT",
+    "scheme": "mongodb-gridfs",
+    "extendsScheme": "",
+    "syntax": "mongodb-gridfs:connectionBean",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "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 occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a me [...]
+    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "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 producer 
may otherwise fail during star [...]
+    "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
+  },
+  "headers": {
+    "CamelFileContentType": { "kind": "header", "displayName": "", "group": 
"consumer", "label": "consumer", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The content type of the file.", "constantName": 
"org.apache.camel.component.mongodb.gridfs.GridFsConstants#FILE_CONTENT_TYPE" },
+    "CamelFileLength": { "kind": "header", "displayName": "", "group": 
"consumer", "label": "consumer", "required": false, "javaType": "long", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The size of the file.", "constantName": 
"org.apache.camel.component.mongodb.gridfs.GridFsConstants#FILE_LENGTH" },
+    "CamelFileLastModified": { "kind": "header", "displayName": "", "group": 
"consumer", "label": "consumer", "required": false, "javaType": "Date", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The size of the file.", "constantName": 
"org.apache.camel.component.mongodb.gridfs.GridFsConstants#FILE_LAST_MODIFIED" 
},
+    "CamelFileName": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The name of the file.", "constantName": 
"org.apache.camel.component.mongodb.gridfs.GridFsConstants#FILE_NAME" },
+    "Content-Type": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The content type of the file.", "constantName": 
"org.apache.camel.component.mongodb.gridfs.GridFsConstants#CONTENT_TYPE" },
+    "CamelFileNameProduced": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The file name produced.", "constantName": 
"org.apache.camel.component.mongodb.gridfs.GridFsConstants#FILE_NAME_PRODUCED" 
},
+    "gridfs.metadata": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "String", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "Any additional metadata stored along with the file in JSON 
format.", "constantName": 
"org.apache.camel.component.mongodb.gridfs.GridFsConstants#GRIDFS_METADATA" },
+    "gridfs.operation": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The operation to perform.", "constantName": 
"org.apache.camel.component.mongodb.gridfs.GridFsConstants#GRIDFS_OPERATION" },
+    "gridfs.chunksize": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "Integer", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The number of bytes per chunk for the uploaded file.", 
"constantName": 
"org.apache.camel.component.mongodb.gridfs.GridFsConstants#GRIDFS_CHUNKSIZE" },
+    "gridfs.fileid": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": 
"org.bson.types.ObjectId", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The ObjectId of the file 
produced", "constantName": 
"org.apache.camel.component.mongodb.gridfs.GridFsConstants#GRIDFS_FILE_ID_PRODUCED"
 },
+    "gridfs.objectid": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": 
"org.bson.types.ObjectId", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The ObjectId of the 
file.", "constantName": 
"org.apache.camel.component.mongodb.gridfs.GridFsConstants#GRIDFS_OBJECT_ID" }
+  },
+  "properties": {
+    "connectionBean": { "kind": "path", "displayName": "Connection Bean", 
"group": "common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Name of com.mongodb.client.MongoClient 
to use." },
+    "bucket": { "kind": "parameter", "displayName": "Bucket", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "fs", "description": "Sets the name of the GridFS bucket within 
the database. Default is fs." },
+    "database": { "kind": "parameter", "displayName": "Database", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Sets the name of the MongoDB database 
to target" },
+    "readPreference": { "kind": "parameter", "displayName": "Read Preference", 
"group": "common", "label": "", "required": false, "type": "object", 
"javaType": "com.mongodb.ReadPreference", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets a MongoDB ReadPreference on the 
Mongo connection. Read preferences set directly on the connection will be 
overridden by this setting. The com.mongodb.ReadPreference#valueOf(String) 
utility method is used to resolve the pass [...]
+    "writeConcern": { "kind": "parameter", "displayName": "Write Concern", 
"group": "common", "label": "", "required": false, "type": "object", 
"javaType": "com.mongodb.WriteConcern", "enum": [ "ACKNOWLEDGED", "W1", "W2", 
"W3", "UNACKNOWLEDGED", "JOURNALED", "MAJORITY" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the WriteConcern for 
write operations on MongoDB using the standard ones. Resolved from the fields 
of the WriteConcern class by calling the W [...]
+    "delay": { "kind": "parameter", "displayName": "Delay", "group": 
"consumer", "label": "consumer", "required": false, "type": "duration", 
"javaType": "long", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "500", "description": "Sets the delay between polls within the 
Consumer. Default is 500ms" },
+    "fileAttributeName": { "kind": "parameter", "displayName": "File Attribute 
Name", "group": "consumer", "label": "consumer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "camel-processed", "description": "If 
the QueryType uses a FileAttribute, this sets the name of the attribute that is 
used. Default is camel-processed." },
+    "initialDelay": { "kind": "parameter", "displayName": "Initial Delay", 
"group": "consumer", "label": "consumer", "required": false, "type": 
"duration", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "1000", "description": "Sets the initialDelay 
before the consumer will start polling. Default is 1000ms" },
+    "persistentTSCollection": { "kind": "parameter", "displayName": 
"Persistent TSCollection", "group": "consumer", "label": "consumer", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"camel-timestamps", "description": "If the QueryType uses a persistent 
timestamp, this sets the name of the collection within the DB to store the 
timestamp." },
+    "persistentTSObject": { "kind": "parameter", "displayName": "Persistent 
TSObject", "group": "consumer", "label": "consumer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "camel-timestamp", "description": "If 
the QueryType uses a persistent timestamp, this is the ID of the object in the 
collection to store the timestamp." },
+    "query": { "kind": "parameter", "displayName": "Query", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Additional query parameters (in JSON) that are 
used to configure the query used for finding files in the GridFsConsumer" },
+    "queryStrategy": { "kind": "parameter", "displayName": "Query Strategy", 
"group": "consumer", "label": "consumer", "required": false, "type": "object", 
"javaType": "org.apache.camel.component.mongodb.gridfs.QueryStrategy", "enum": 
[ "TimeStamp", "PersistentTimestamp", "FileAttribute", 
"TimeStampAndFileAttribute", "PersistentTimestampAndFileAttribute" ], 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"TimeStamp", "description": "Sets the QueryStrategy that i [...]
+    "bridgeErrorHandler": { "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 occurred while the consumer is trying to 
pickup incoming messages, or the likes, will now [...]
+    "exceptionHandler": { "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 default the 
con [...]
+    "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
+    "operation": { "kind": "parameter", "displayName": "Operation", "group": 
"producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the operation this endpoint will execute 
against GridFs." },
+    "lazyStartProducer": { "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 producer may other [...]
+  }
+}
diff --git 
a/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/mongodb.json
 
b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/mongodb.json
new file mode 100644
index 00000000..a9c4a487
--- /dev/null
+++ 
b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/mongodb.json
@@ -0,0 +1,87 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "mongodb",
+    "title": "MongoDB",
+    "description": "Perform operations on MongoDB documents and collections.",
+    "deprecated": false,
+    "firstVersion": "2.19.0",
+    "label": "database,nosql",
+    "javaType": "org.apache.camel.component.mongodb.MongoDbComponent",
+    "supportLevel": "Stable",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-mongodb",
+    "version": "3.20.0-SNAPSHOT",
+    "scheme": "mongodb",
+    "extendsScheme": "",
+    "syntax": "mongodb:connectionBean",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "mongoConnection": { "kind": "property", "displayName": "Mongo 
Connection", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": "com.mongodb.client.MongoClient", "deprecated": false, 
"autowired": true, "secret": false, "description": "Shared client used for 
connection. All endpoints generated from the component will share this 
connection client." },
+    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "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 occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a me [...]
+    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "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 producer 
may otherwise fail during star [...]
+    "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
+  },
+  "headers": {
+    "CamelMongoDbOperation": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": 
"org.apache.camel.component.mongodb.MongoDbOperation or String", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The operation this endpoint will execute against MongoDB.", 
"constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#OPERATION_HEADER" },
+    "CamelMongoDbResultTotalSize": { "kind": "header", "displayName": "", 
"group": "producer findAll", "label": "producer findAll", "required": false, 
"javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Number of objects matching the query. 
This does not take limit\/skip into consideration.", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#RESULT_TOTAL_SIZE" },
+    "CamelMongoDbResultPageSize": { "kind": "header", "displayName": "", 
"group": "producer findAll", "label": "producer findAll", "required": false, 
"javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Number of objects matching the query. 
This does not take limit\/skip into consideration.", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#RESULT_PAGE_SIZE" },
+    "CamelMongoDbCriteria": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": 
"org.bson.conversions.Bson", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The query to execute 
against MongoDB.", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#CRITERIA" },
+    "CamelMongoDbFieldsProjection": { "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"org.bson.conversions.Bson", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The project document.", 
"constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#FIELDS_PROJECTION" },
+    "CamelMongoDbBatchSize": { "kind": "header", "displayName": "", "group": 
"producer findAll aggregate", "label": "producer findAll aggregate", 
"required": false, "javaType": "Integer", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
number of documents per batch.", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#BATCH_SIZE" },
+    "CamelMongoDbNumToSkip": { "kind": "header", "displayName": "", "group": 
"producer findAll", "label": "producer findAll", "required": false, "javaType": 
"Integer", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Discards a given number of elements at the 
beginning of the cursor.", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#NUM_TO_SKIP" },
+    "CamelMongoDbMultiUpdate": { "kind": "header", "displayName": "", "group": 
"producer update", "label": "producer update", "required": false, "javaType": 
"Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "If the update should be applied to all objects 
matching. See http:\/\/www.mongodb.org\/display\/DOCS\/AtomicOperationsAtomic 
Operations", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#MULTIUPDATE" },
+    "CamelMongoDbUpsert": { "kind": "header", "displayName": "", "group": 
"producer update", "label": "producer update", "required": false, "javaType": 
"Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "If the database should create the element if 
it does not exist", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#UPSERT" },
+    "CamelMongoDbRecordsAffected": { "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The number of modified or deleted records", 
"constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#RECORDS_AFFECTED" },
+    "CamelMongoDbRecordsMatched": { "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The number of documents matched by the 
query.", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#RECORDS_MATCHED" },
+    "CamelMongoDbSortBy": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "Bson or 
Document", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The sort criteria.", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#SORT_BY" },
+    "CamelMongoDbDatabase": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "String", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The name of the MongoDB database to target", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#DATABASE" },
+    "CamelMongoDbCollection": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "String", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The name of the MongoDB collection to bind to this endpoint", 
"constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#COLLECTION" },
+    "CamelMongoDbCollectionIndex": { "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"List<Bson>", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The list of dynamic indexes to create on the 
fly", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#COLLECTION_INDEX" },
+    "CamelMongoDbLimit": { "kind": "header", "displayName": "", "group": 
"producer findAll", "label": "producer findAll", "required": false, "javaType": 
"Integer", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Limits the number of elements returned.", 
"constantName": "org.apache.camel.component.mongodb.MongoDbConstants#LIMIT" },
+    "CamelMongoDbTailable": { "kind": "header", "displayName": "", "group": 
"consumer", "label": "consumer", "required": false, "javaType": "Boolean", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Is from tailable", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#FROM_TAILABLE" },
+    "CamelMongoWriteResult": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "Object", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The result of the write operation", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#WRITERESULT" },
+    "CamelMongoOid": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "Object or 
List<Object>", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The OID(s) of the inserted record(s)", 
"constantName": "org.apache.camel.component.mongodb.MongoDbConstants#OID" },
+    "CamelMongoDbDistinctQueryField": { "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The specified field name fow which we want to 
get the distinct values.", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#DISTINCT_QUERY_FIELD" },
+    "CamelMongoDbAllowDiskUse": { "kind": "header", "displayName": "", 
"group": "producer findAll aggregate", "label": "producer findAll aggregate", 
"required": false, "javaType": "Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": 
"Sets allowDiskUse MongoDB flag. This is supported since MongoDB Server 4.3.1. 
Using this header with older MongoDB Server version can cause query to fail.", 
"constantName": "org.apache.camel.component.mon [...]
+    "CamelMongoDbBulkOrdered": { "kind": "header", "displayName": "", "group": 
"producer bulkWrite", "label": "producer bulkWrite", "required": false, 
"javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "TRUE", "description": "Perform an 
ordered or unordered operation execution.", "constantName": 
"org.apache.camel.component.mongodb.MongoDbConstants#BULK_ORDERED" },
+    "_id": { "kind": "header", "displayName": "", "group": "consumer 
changeStreams", "label": "consumer changeStreams", "required": false, 
"javaType": "org.bson.types.ObjectId", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "description": "A document that 
contains the _id of the document created or modified by the insert, replace, 
delete, update operations (i.e. CRUD operations). For sharded collections, also 
displays the full shard key for the document [...]
+    "CamelMongoDbStreamOperationType": { "kind": "header", "displayName": "", 
"group": "consumer changeStreams", "label": "consumer changeStreams", 
"required": false, "javaType": "String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
type of operation that occurred. Can be any of the following values: insert, 
delete, replace, update, drop, rename, dropDatabase, invalidate.", 
"constantName": "org.apache.camel.component.mongodb.MongoD [...]
+  },
+  "properties": {
+    "connectionBean": { "kind": "path", "displayName": "Connection Bean", 
"group": "common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Sets the connection bean reference used 
to lookup a client for connecting to a database if no hosts parameter is 
present." },
+    "collection": { "kind": "parameter", "displayName": "Collection", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the name of the MongoDB collection to bind to this 
endpoint" },
+    "collectionIndex": { "kind": "parameter", "displayName": "Collection 
Index", "group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the collection index (JSON FORMAT : { 
field1 : order1, field2 : order2})" },
+    "createCollection": { "kind": "parameter", "displayName": "Create 
Collection", "group": "common", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Create collection during 
initialisation if it doesn't exist. Default is true." },
+    "database": { "kind": "parameter", "displayName": "Database", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the name of the MongoDB database to target" },
+    "hosts": { "kind": "parameter", "displayName": "Hosts", "group": "common", 
"label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Host address of mongodb server in host:port format. It's 
possible also use more than one address, as comma separated list of hosts: 
host1:port1,host2:port2. If the hosts parameter is specified, the provided 
connectionBean is ignored." },
+    "mongoConnection": { "kind": "parameter", "displayName": "Mongo 
Connection", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": "com.mongodb.client.MongoClient", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the connection bean 
used as a client for connecting to a database." },
+    "operation": { "kind": "parameter", "displayName": "Operation", "group": 
"common", "label": "", "required": false, "type": "object", "javaType": 
"org.apache.camel.component.mongodb.MongoDbOperation", "enum": [ "findById", 
"findOneByQuery", "findAll", "findDistinct", "insert", "save", "update", 
"remove", "bulkWrite", "aggregate", "getDbStats", "getColStats", "count", 
"command" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the operation this endpoint [...]
+    "outputType": { "kind": "parameter", "displayName": "Output Type", 
"group": "common", "label": "common", "required": false, "type": "object", 
"javaType": "org.apache.camel.component.mongodb.MongoDbOutputType", "enum": [ 
"DocumentList", "Document", "MongoIterable" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Convert the output of the 
producer to the selected type : DocumentList Document or MongoIterable. 
DocumentList or MongoIterable applies to findAll  [...]
+    "consumerType": { "kind": "parameter", "displayName": "Consumer Type", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Consumer type." },
+    "bridgeErrorHandler": { "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 occurred while the consumer is trying to 
pickup incoming messages, or the likes, will now [...]
+    "exceptionHandler": { "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 default the 
con [...]
+    "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
+    "lazyStartProducer": { "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 producer may other [...]
+    "cursorRegenerationDelay": { "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 client is expe [...]
+    "dynamicity": { "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 on the other [...]
+    "readPreference": { "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 values are PRIMA [...]
+    "writeConcern": { "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 operations to a [...]
+    "writeResultAsHeader": { "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." },
+    "streamFilter": { "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": { "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": { "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": { "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": { "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": { "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 cursor from  [...]
+    "tailTrackCollection": { "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": { "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 database will n [...]
+    "tailTrackField": { "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": { "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 of type: tailT [...]
+  }
+}
diff --git 
a/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/spring-redis.json
 
b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/spring-redis.json
new file mode 100644
index 00000000..b2d8970d
--- /dev/null
+++ 
b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/spring-redis.json
@@ -0,0 +1,75 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "spring-redis",
+    "title": "Spring Redis",
+    "description": "Send and receive messages from Redis.",
+    "deprecated": false,
+    "firstVersion": "2.11.0",
+    "label": "spring,nosql",
+    "javaType": "org.apache.camel.component.redis.RedisComponent",
+    "supportLevel": "Stable",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-spring-redis",
+    "version": "3.20.0-SNAPSHOT",
+    "scheme": "spring-redis",
+    "extendsScheme": "",
+    "syntax": "spring-redis:host:port",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "redisTemplate": { "kind": "property", "displayName": "Redis Template", 
"group": "common", "label": "", "required": false, "type": "object", 
"javaType": "org.springframework.data.redis.core.RedisTemplate", "deprecated": 
false, "autowired": true, "secret": false, "description": "Reference to a 
pre-configured RedisTemplate instance to use." },
+    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "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 occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a me [...]
+    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "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 producer 
may otherwise fail during star [...]
+    "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
+  },
+  "headers": {
+    "CamelRedis.Command": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The command to perform.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#COMMAND" },
+    "CamelRedis.Key": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "String", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The key.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#KEY" },
+    "CamelRedis.Keys": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Collection<String>", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The keys.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#KEYS" },
+    "CamelRedis.Field": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "String", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The field.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#FIELD" },
+    "CamelRedis.Fields": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Collection<String>", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The fields.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#FIELDS" },
+    "CamelRedis.Value": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Object", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The value.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#VALUE" },
+    "CamelRedis.Values": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Map<String, Object> or 
Collection<Object>", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The values.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#VALUES" },
+    "CamelRedis.Start": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Long", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "Start", "constantName": 
"org.apache.camel.component.redis.RedisConstants#START" },
+    "CamelRedis.End": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Long", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "End", "constantName": 
"org.apache.camel.component.redis.RedisConstants#END" },
+    "CamelRedis.Timeout": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Long", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The timeout.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#TIMEOUT" },
+    "CamelRedis.Offset": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Long", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The offset.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#OFFSET" },
+    "CamelRedis.Destination": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "String", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The destination.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#DESTINATION" },
+    "CamelRedis.Channel": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "byte[] or String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The channel.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#CHANNEL" },
+    "CamelRedis.Message": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Object", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The message.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#MESSAGE" },
+    "CamelRedis.Index": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Long", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The index.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#INDEX" },
+    "CamelRedis.Position": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "String", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The position.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#POSITION" },
+    "CamelRedis.Pivot": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "String", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The pivot.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#PIVOT" },
+    "CamelRedis.Count": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Long", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "Count", "constantName": 
"org.apache.camel.component.redis.RedisConstants#COUNT" },
+    "CamelRedis.Timestamp": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Long", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The timestamp.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#TIMESTAMP" },
+    "CamelRedis.Pattern": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "byte[] or String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The pattern.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#PATTERN" },
+    "CamelRedis.Db": { "kind": "header", "displayName": "", "group": "common", 
"label": "", "required": false, "javaType": "Integer", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
db.", "constantName": "org.apache.camel.component.redis.RedisConstants#DB" },
+    "CamelRedis.Score": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Double", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The score.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#SCORE" },
+    "CamelRedis.Min": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Double", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The min.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#MIN" },
+    "CamelRedis.Max": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Double", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The max.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#MAX" },
+    "CamelRedis.Increment": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Double", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "Increment.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#INCREMENT" },
+    "CamelRedis.WithScore": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Boolean", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "WithScore.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#WITHSCORE" },
+    "CamelRedis.Latitude": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Double", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "Latitude.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#LATITUDE" },
+    "CamelRedis.Longitude": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Double", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "Longitude.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#LONGITUDE" },
+    "CamelRedis.Radius": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": "Double", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "Radius.", "constantName": 
"org.apache.camel.component.redis.RedisConstants#RADIUS" }
+  },
+  "properties": {
+    "host": { "kind": "path", "displayName": "Host", "group": "common", 
"label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.redis.RedisConfiguration", "configurationField": 
"configuration", "description": "The host where Redis server is running." },
+    "port": { "kind": "path", "displayName": "Port", "group": "common", 
"label": "", "required": true, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.redis.RedisConfiguration", "configurationField": 
"configuration", "description": "Redis server port number" },
+    "channels": { "kind": "parameter", "displayName": "Channels", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.redis.RedisConfiguration", 
"configurationField": "configuration", "description": "List of topic names or 
name patterns to subscribe to. Multiple names can be separated by comma." },
+    "command": { "kind": "parameter", "displayName": "Command", "group": 
"common", "label": "", "required": false, "type": "object", "javaType": 
"org.apache.camel.component.redis.Command", "enum": [ "PING", "SET", "GET", 
"QUIT", "EXISTS", "DEL", "TYPE", "FLUSHDB", "KEYS", "RANDOMKEY", "RENAME", 
"RENAMENX", "RENAMEX", "DBSIZE", "EXPIRE", "EXPIREAT", "TTL", "SELECT", "MOVE", 
"FLUSHALL", "GETSET", "MGET", "SETNX", "SETEX", "MSET", "MSETNX", "DECRBY", 
"DECR", "INCRBY", "INCR", "APPEND", "SUB [...]
+    "connectionFactory": { "kind": "parameter", "displayName": "Connection 
Factory", "group": "common", "label": "", "required": false, "type": "object", 
"javaType": "org.springframework.data.redis.connection.RedisConnectionFactory", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.redis.RedisConfiguration", "configurationField": 
"configuration", "description": "Reference to a pre-configured 
RedisConnectionFactory instance to use." },
+    "redisTemplate": { "kind": "parameter", "displayName": "Redis Template", 
"group": "common", "label": "", "required": false, "type": "object", 
"javaType": "org.springframework.data.redis.core.RedisTemplate", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.redis.RedisConfiguration", "configurationField": 
"configuration", "description": "Reference to a pre-configured RedisTemplate 
instance to use." },
+    "serializer": { "kind": "parameter", "displayName": "Serializer", "group": 
"common", "label": "", "required": false, "type": "object", "javaType": 
"org.springframework.data.redis.serializer.RedisSerializer", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.redis.RedisConfiguration", "configurationField": 
"configuration", "description": "Reference to a pre-configured RedisSerializer 
instance to use." },
+    "bridgeErrorHandler": { "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 occurred while the consumer is trying to 
pickup incoming messages, or the likes, will now [...]
+    "exceptionHandler": { "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 default the 
con [...]
+    "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
+    "listenerContainer": { "kind": "parameter", "displayName": "Listener 
Container", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.springframework.data.redis.listener.RedisMessageListenerContainer", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.redis.RedisConfiguration", "configurationField": 
"configuration", "description": "Reference to a pre-configured Red [...]
+    "lazyStartProducer": { "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 producer may other [...]
+  }
+}

Reply via email to