You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/12/02 05:58:04 UTC

[camel-karaf] branch main updated: [create-pull-request] automated change (#220)

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] <41...@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] <41...@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 [...]
+  }
+}