You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2021/01/27 06:23:40 UTC

[camel] 02/06: CAMEL-12489 - camel-infinspan: split remote and embedded components (split)

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

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

commit 37f2ec49cbe558dede84df765d640ee2414b55f0
Author: Luca Burgazzoli <lb...@gmail.com>
AuthorDate: Thu Jan 21 19:01:21 2021 +0100

    CAMEL-12489 - camel-infinspan: split remote and embedded components
    (split)
---
 bom/camel-bom/pom.xml                              |  15 +
 .../org/apache/camel/catalog/components.properties |   2 -
 .../catalog/components/infinispan-embedded.json    |  71 --
 .../camel/catalog/components/infinispan.json       |  87 ---
 .../org/apache/camel/catalog/docs.properties       |   2 -
 .../camel-infinispan-common/pom.xml                | 107 +++
 .../InfinispanAggregationRepository.java           |   0
 .../component/infinispan/InfinispanComponent.java  |   0
 .../infinispan/InfinispanConfiguration.java        |  85 +--
 .../component/infinispan/InfinispanConstants.java  |   0
 .../component/infinispan/InfinispanConsumer.java   |   0
 .../component/infinispan/InfinispanEndpoint.java   |   0
 .../infinispan/InfinispanEventListener.java        |   0
 .../infinispan/InfinispanEventProcessor.java       |   0
 .../infinispan/InfinispanIdempotentRepository.java |   0
 .../component/infinispan/InfinispanManager.java    |   0
 .../component/infinispan/InfinispanOperation.java  |   0
 .../component/infinispan/InfinispanProducer.java   |   0
 .../infinispan/InfinispanQueryBuilder.java         |   0
 .../infinispan/InfinispanRoutePolicy.java          |   0
 .../camel/component/infinispan/InfinispanUtil.java |   0
 .../infinispan/InfinispanConsumerTestSupport.java  |   0
 .../InfinispanIdempotentRepositoryTestSupport.java |   0
 .../infinispan/InfinispanProducerTestSupport.java  |  22 -
 .../InfinispanRoutePolicyTestSupport.java          |   0
 .../infinispan/InfinispanTestSupport.java          |   2 +-
 .../camel-infinispan-embedded/pom.xml              | 134 ++++
 .../InfinispanEmbeddedComponentConfigurer.java     |   3 -
 .../InfinispanEmbeddedEndpointConfigurer.java      |   3 -
 .../InfinispanEmbeddedEndpointUriFactory.java      |   3 +-
 .../services/org/apache/camel/component.properties |   7 +
 .../org/apache/camel/component/infinispan-embedded |   0
 .../camel/configurer/infinispan-embedded-component |   0
 .../camel/configurer/infinispan-embedded-endpoint  |   0
 .../camel/urifactory/infinispan-embedded-endpoint  |   0
 .../infinispan/embedded/infinispan-embedded.json   |  12 +-
 .../main}/docs/infinispan-embedded-component.adoc  |  14 +-
 .../InfinispanEmbeddedAggregationRepository.java   |   3 +-
 .../embedded/InfinispanEmbeddedComponent.java      |   0
 .../embedded/InfinispanEmbeddedConfiguration.java  |   0
 .../embedded/InfinispanEmbeddedConsumer.java       |   0
 .../embedded/InfinispanEmbeddedCustomListener.java |   0
 .../embedded/InfinispanEmbeddedEndpoint.java       |   0
 .../embedded/InfinispanEmbeddedEventListener.java  |   0
 .../embedded/InfinispanEmbeddedEventListeners.java |   0
 .../InfinispanEmbeddedIdempotentRepository.java    |   0
 .../embedded/InfinispanEmbeddedManager.java        |   0
 .../embedded/InfinispanEmbeddedProducer.java       |   0
 .../embedded/InfinispanEmbeddedRoutePolicy.java    |   0
 .../embedded/InfinispanEmbeddedUtil.java           |   3 +-
 ...mbeddedAggregationRepositoryOperationsTest.java |   0
 ...nfinispanEmbeddedAggregationRepositoryTest.java |   0
 .../InfinispanEmbeddedClusteredConsumerTest.java   |   0
 .../InfinispanEmbeddedClusteredTestSupport.java    |   0
 .../InfinispanEmbeddedConfigurationTest.java       |   0
 .../embedded/InfinispanEmbeddedConsumerTest.java   |  32 +-
 .../InfinispanEmbeddedCustomListenerTest.java      |   2 +-
 ...InfinispanEmbeddedIdempotentRepositoryTest.java |   0
 .../embedded/InfinispanEmbeddedProducerTest.java   |  16 +-
 .../InfinispanEmbeddedQueryConsumerTest.java       |   0
 .../InfinispanEmbeddedQueryProducerTest.java       |   0
 .../InfinispanEmbeddedQueryTestSupport.java        |   0
 .../InfinispanEmbeddedRoutePolicyTest.java         |  98 +++
 .../embedded/InfinispanEmbeddedTestSupport.java    |   2 +-
 ...ispanEmbeddedIdempotentRepositoryCamelTest.java |   0
 ...spanEmbeddedIdempotentRepositorySpringTest.java |   0
 ...panEmbeddedIdempotentRepositoryTestSupport.java |   0
 .../src/test/resources/log4j2.properties           |   0
 ...nispanEmbeddedIdempotentRepositoryCamelTest.xml |   0
 ...anEmbeddedIdempotentRepositoryConfiguration.xml |   0
 ...ispanEmbeddedIdempotentRepositorySpringTest.xml |   0
 .../{ => camel-infinispan}/pom.xml                 |  89 +--
 .../InfinispanRemoteComponentConfigurer.java       |   3 -
 .../remote/InfinispanRemoteEndpointConfigurer.java |   3 -
 .../remote/InfinispanRemoteEndpointUriFactory.java |   3 +-
 .../services/org/apache/camel/component.properties |   6 +-
 .../services/org/apache/camel/component/infinispan |   0
 .../apache/camel/configurer/infinispan-component   |   0
 .../apache/camel/configurer/infinispan-endpoint    |   0
 .../apache/camel/urifactory/infinispan-endpoint    |   0
 .../component/infinispan/remote/infinispan.json    |  10 +-
 .../src/main}/docs/infinispan-component.adoc       |  36 +-
 .../InfinispanRemoteAggregationRepository.java     |   0
 .../remote/InfinispanRemoteComponent.java          |   0
 .../remote/InfinispanRemoteConfiguration.java      |   0
 .../remote/InfinispanRemoteConsumer.java           |   0
 .../remote/InfinispanRemoteCustomListener.java     |   0
 .../remote/InfinispanRemoteEndpoint.java           |   0
 .../remote/InfinispanRemoteEventListener.java      |   0
 .../InfinispanRemoteIdempotentRepository.java      |   0
 .../infinispan/remote/InfinispanRemoteManager.java |   0
 .../remote/InfinispanRemoteProducer.java           |   0
 .../remote/InfinispanRemoteRoutePolicy.java        |   0
 .../infinispan/remote/InfinispanRemoteUtil.java    |   0
 ...nRemoteAggregationRepositoryOperationsTest.java |   0
 .../InfinispanRemoteAggregationRepositoryTest.java |   0
 .../remote/InfinispanRemoteConfigurationTest.java  |   0
 .../remote/InfinispanRemoteConsumerTest.java       |   4 +-
 .../remote/InfinispanRemoteCustomListenerTest.java |   4 +-
 .../InfinispanRemoteIdempotentRepositoryTest.java  |   0
 .../remote/InfinispanRemoteProducerTest.java       |  16 +-
 .../remote/InfinispanRemoteQueryConsumerTest.java  |   0
 .../remote/InfinispanRemoteQueryProducerTest.java  |   0
 .../remote/InfinispanRemoteQueryTestSupport.java   |   0
 .../remote/InfinispanRemoteRoutePolicyTest.java    | 124 +++
 .../remote/InfinispanRemoteTestSupport.java        |   2 +-
 ...inispanRemoteIdempotentRepositoryCamelTest.java |   0
 ...nispanRemoteIdempotentRepositorySpringTest.java |   0
 ...ispanRemoteIdempotentRepositoryTestSupport.java |   0
 .../test/resources/infinispan/client.properties    |   0
 .../src/test/resources/log4j2.properties           |   4 +-
 ...finispanRemoteIdempotentRepositoryCamelTest.xml |   0
 ...inispanRemoteIdempotentRepositorySpringTest.xml |   0
 components/camel-infinispan/pom.xml                | 224 +-----
 .../camel/component/infinispan/infinispan.json     |  87 ---
 .../src/main/docs/infinispan-component.adoc        | 501 ------------
 .../main/docs/infinispan-embedded-component.adoc   | 845 ---------------------
 .../InfinispanEmbeddedRoutePolicyTest.java         |  48 --
 .../remote/InfinispanRemoteRoutePolicyTest.java    |  49 --
 core/camel-allcomponents/pom.xml                   |   8 +
 .../component/ComponentsBuilderFactory.java        |   4 +-
 .../dsl/InfinispanComponentBuilderFactory.java     |  17 -
 .../InfinispanEmbeddedComponentBuilderFactory.java |  22 +-
 .../src/generated/resources/metadata.json          |   2 +-
 .../builder/endpoint/StaticEndpointBuilders.java   |   8 +-
 .../InfinispanEmbeddedEndpointBuilderFactory.java  |  24 +-
 .../InfinispanRemoteEndpointBuilderFactory.java    |  16 -
 .../modules/ROOT/pages/infinispan-component.adoc   |  38 +-
 .../ROOT/pages/infinispan-embedded-component.adoc  |  16 +-
 parent/pom.xml                                     |  15 +
 .../test/infra/common/services/TestService.java    |   7 +-
 131 files changed, 693 insertions(+), 2267 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 23eac32..2bf41c7 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -979,6 +979,21 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-infinispan-common</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-infinispan-embedded</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-infinispan-parent</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-influxdb</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
index 6e9c853..8ca9418 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
@@ -176,8 +176,6 @@ ignite-queue
 ignite-set
 imap
 imaps
-infinispan
-infinispan-embedded
 influxdb
 iota
 ipfs
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/infinispan-embedded.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/infinispan-embedded.json
deleted file mode 100644
index 62c5705..0000000
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/infinispan-embedded.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "infinispan-embedded",
-    "title": "Infinispan Embedded",
-    "description": "Read and write from\/to Infinispan distributed key\/value store and data grid.",
-    "deprecated": false,
-    "firstVersion": "2.13.0",
-    "label": "cache,datagrid,clustering",
-    "javaType": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-infinispan",
-    "version": "3.8.0-SNAPSHOT",
-    "scheme": "infinispan-embedded",
-    "extendsScheme": "",
-    "syntax": "infinispan-embedded:cacheName",
-    "async": false,
-    "api": false,
-    "consumerOnly": false,
-    "producerOnly": false,
-    "lenientProperties": false
-  },
-  "componentProperties": {
-    "configuration": { "kind": "property", "displayName": "Configuration", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "Component configuration" },
-    "queryBuilder": { "kind": "property", "displayName": "Query Builder", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanQueryBuilder", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Specifies the query builder." },
-    "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 [...]
-    "clusteredListener": { "kind": "property", "displayName": "Clustered Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "If true, the listener will be installed for the entire cluster" },
-    "command": { "kind": "property", "displayName": "Command", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "autowired": false, "secret": false, "defaultValue": "PUT", "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "The operation to perform." },
-    "customListener": { "kind": "property", "displayName": "Custom Listener", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedCustomListener", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Returns the custom list [...]
-    "eventTypes": { "kind": "property", "displayName": "Event Types", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Specifies the set of event types to register by the consumer.Multiple event can be separated b [...]
-    "sync": { "kind": "property", "displayName": "Sync", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "If true, the consumer will receive notifications synchronously" },
-    "defaultValue": { "kind": "property", "displayName": "Default Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific default value for some producer operations" },
-    "key": { "kind": "property", "displayName": "Key", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific key for producer operations" },
-    "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 [...]
-    "oldValue": { "kind": "property", "displayName": "Old Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific old value for some producer operations" },
-    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ], [...]
-    "value": { "kind": "property", "displayName": "Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific value for producer operations" },
-    "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 [...]
-    "cacheContainer": { "kind": "property", "displayName": "Cache Container", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.manager.EmbeddedCacheManager", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Specifies the cache Container to connect" },
-    "cacheContainerConfiguration": { "kind": "property", "displayName": "Cache Container Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.configuration.cache.Configuration", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "The C [...]
-    "configurationUri": { "kind": "property", "displayName": "Configuration Uri", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "An implementation specific URI for the CacheManager" },
-    "flags": { "kind": "property", "displayName": "Flags", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remot [...]
-    "remappingFunction": { "kind": "property", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation" },
-    "resultHeader": { "kind": "property", "displayName": "Result Header", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Store the operation result in a header instead of the message body. By default, resultHead [...]
-  },
-  "properties": {
-    "cacheName": { "kind": "path", "displayName": "Cache Name", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the cache to use. Use current to use the existing cache name from the currently configured cached manager. Or use default for the default cache manager name." },
-    "queryBuilder": { "kind": "parameter", "displayName": "Query Builder", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanQueryBuilder", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Specifies the query builder." },
-    "bridgeErrorHandler": { "kind": "parameter", "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 m [...]
-    "clusteredListener": { "kind": "parameter", "displayName": "Clustered Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "If true, the listener will be installed for the entire cluster" },
-    "command": { "kind": "parameter", "displayName": "Command", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "autowired": false, "secret": false, "defaultValue": "PUT", "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "The operation to perform." },
-    "customListener": { "kind": "parameter", "displayName": "Custom Listener", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedCustomListener", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Returns the custom lis [...]
-    "eventTypes": { "kind": "parameter", "displayName": "Event Types", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Specifies the set of event types to register by the consumer.Multiple event can be separated  [...]
-    "sync": { "kind": "parameter", "displayName": "Sync", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "If true, the consumer will receive notifications synchronously" },
-    "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." },
-    "defaultValue": { "kind": "parameter", "displayName": "Default Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific default value for some producer operations" },
-    "key": { "kind": "parameter", "displayName": "Key", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific key for producer operations" },
-    "lazyStartProducer": { "kind": "parameter", "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 sta [...]
-    "oldValue": { "kind": "parameter", "displayName": "Old Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific old value for some producer operations" },
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ] [...]
-    "value": { "kind": "parameter", "displayName": "Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific value for producer operations" },
-    "cacheContainer": { "kind": "parameter", "displayName": "Cache Container", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.manager.EmbeddedCacheManager", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Specifies the cache Container to con [...]
-    "cacheContainerConfiguration": { "kind": "parameter", "displayName": "Cache Container Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.configuration.cache.Configuration", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "The  [...]
-    "configurationUri": { "kind": "parameter", "displayName": "Configuration Uri", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "An implementation specific URI for the CacheManager" },
-    "flags": { "kind": "parameter", "displayName": "Flags", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remo [...]
-    "remappingFunction": { "kind": "parameter", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation" },
-    "resultHeader": { "kind": "parameter", "displayName": "Result Header", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Store the operation result in a header instead of the message body. By default, resultHea [...]
-  }
-}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/infinispan.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/infinispan.json
deleted file mode 100644
index 5b48148..0000000
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/infinispan.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "infinispan",
-    "title": "Infinispan",
-    "description": "Read and write from\/to Infinispan distributed key\/value store and data grid.",
-    "deprecated": false,
-    "firstVersion": "2.13.0",
-    "label": "cache,datagrid,clustering",
-    "javaType": "org.apache.camel.component.infinispan.InfinispanComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-infinispan",
-    "version": "3.8.0-SNAPSHOT",
-    "scheme": "infinispan",
-    "extendsScheme": "",
-    "syntax": "infinispan:cacheName",
-    "async": false,
-    "api": false,
-    "consumerOnly": false,
-    "producerOnly": false,
-    "lenientProperties": false
-  },
-  "componentProperties": {
-    "configuration": { "kind": "property", "displayName": "Configuration", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "Component configuration" },
-    "hosts": { "kind": "property", "displayName": "Hosts", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the host of the cache on Infinispan instance" },
-    "queryBuilder": { "kind": "property", "displayName": "Query Builder", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanQueryBuilder", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the query builder." },
-    "secure": { "kind": "property", "displayName": "Secure", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define if we are connecting to a secured Infinispan instance" },
-    "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 [...]
-    "clusteredListener": { "kind": "property", "displayName": "Clustered Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "If true, the listener will be installed for the entire cluster" },
-    "command": { "kind": "property", "displayName": "Command", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "autowired": false, "secret": false, "defaultValue": "PUT", "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "The operation to perform." },
-    "customListener": { "kind": "property", "displayName": "Custom Listener", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanCustomListener", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Returns the custom listener in use, if provided" },
-    "eventTypes": { "kind": "property", "displayName": "Event Types", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the set of event types to register by the consumer. Multiple event can be separated by comma. The pos [...]
-    "sync": { "kind": "property", "displayName": "Sync", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "If true, the consumer will receive notifications synchronously" },
-    "defaultValue": { "kind": "property", "displayName": "Default Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific default value for some producer operations" },
-    "key": { "kind": "property", "displayName": "Key", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific key for producer operations" },
-    "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 [...]
-    "oldValue": { "kind": "property", "displayName": "Old Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific old value for some producer operations" },
-    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ], [...]
-    "value": { "kind": "property", "displayName": "Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific value for producer operations" },
-    "password": { "kind": "property", "displayName": "Password", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the password to access the infinispan instance" },
-    "saslMechanism": { "kind": "property", "displayName": "Sasl Mechanism", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the SASL Mechanism to access the infinispan instance" },
-    "securityRealm": { "kind": "property", "displayName": "Security Realm", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the security realm to access the infinispan instance" },
-    "securityServerName": { "kind": "property", "displayName": "Security Server Name", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the security server name to access the infinispan instance" },
-    "username": { "kind": "property", "displayName": "Username", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the username to access the infinispan instance" },
-    "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 [...]
-    "cacheContainer": { "kind": "property", "displayName": "Cache Container", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.commons.api.BasicCacheContainer", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the cache Container to connect" },
-    "cacheContainerConfiguration": { "kind": "property", "displayName": "Cache Container Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "The CacheContainer configuration. Uses if the cacheContainer is not defined. [...]
-    "configurationProperties": { "kind": "property", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for the CacheManager" },
-    "configurationUri": { "kind": "property", "displayName": "Configuration Uri", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "An implementation specific URI for the CacheManager" },
-    "flags": { "kind": "property", "displayName": "Flags", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches." },
-    "remappingFunction": { "kind": "property", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation" },
-    "resultHeader": { "kind": "property", "displayName": "Result Header", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Store the operation result in a header instead of the message body. By default, resultHeader == null and th [...]
-  },
-  "properties": {
-    "cacheName": { "kind": "path", "displayName": "Cache Name", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the cache to use. Use current to use the existing cache name from the currently configured cached manager. Or use default for the default cache manager name." },
-    "hosts": { "kind": "parameter", "displayName": "Hosts", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the host of the cache on Infinispan instance" },
-    "queryBuilder": { "kind": "parameter", "displayName": "Query Builder", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanQueryBuilder", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the query builder." },
-    "secure": { "kind": "parameter", "displayName": "Secure", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define if we are connecting to a secured Infinispan instance" },
-    "bridgeErrorHandler": { "kind": "parameter", "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 m [...]
-    "clusteredListener": { "kind": "parameter", "displayName": "Clustered Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "If true, the listener will be installed for the entire cluster" },
-    "command": { "kind": "parameter", "displayName": "Command", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "autowired": false, "secret": false, "defaultValue": "PUT", "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "The operation to perform." },
-    "customListener": { "kind": "parameter", "displayName": "Custom Listener", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanCustomListener", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Returns the custom listener in use, if provided" },
-    "eventTypes": { "kind": "parameter", "displayName": "Event Types", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the set of event types to register by the consumer. Multiple event can be separated by comma. The po [...]
-    "sync": { "kind": "parameter", "displayName": "Sync", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "If true, the consumer will receive notifications synchronously" },
-    "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." },
-    "defaultValue": { "kind": "parameter", "displayName": "Default Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific default value for some producer operations" },
-    "key": { "kind": "parameter", "displayName": "Key", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific key for producer operations" },
-    "lazyStartProducer": { "kind": "parameter", "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 sta [...]
-    "oldValue": { "kind": "parameter", "displayName": "Old Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific old value for some producer operations" },
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ] [...]
-    "value": { "kind": "parameter", "displayName": "Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific value for producer operations" },
-    "password": { "kind": "parameter", "displayName": "Password", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the password to access the infinispan instance" },
-    "saslMechanism": { "kind": "parameter", "displayName": "Sasl Mechanism", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the SASL Mechanism to access the infinispan instance" },
-    "securityRealm": { "kind": "parameter", "displayName": "Security Realm", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the security realm to access the infinispan instance" },
-    "securityServerName": { "kind": "parameter", "displayName": "Security Server Name", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the security server name to access the infinispan instance" },
-    "username": { "kind": "parameter", "displayName": "Username", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the username to access the infinispan instance" },
-    "cacheContainer": { "kind": "parameter", "displayName": "Cache Container", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.commons.api.BasicCacheContainer", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the cache Container to connect" },
-    "cacheContainerConfiguration": { "kind": "parameter", "displayName": "Cache Container Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "The CacheContainer configuration. Uses if the cacheContainer is not defined [...]
-    "configurationProperties": { "kind": "parameter", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for the CacheMan [...]
-    "configurationUri": { "kind": "parameter", "displayName": "Configuration Uri", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "An implementation specific URI for the CacheManager" },
-    "flags": { "kind": "parameter", "displayName": "Flags", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches." },
-    "remappingFunction": { "kind": "parameter", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation" },
-    "resultHeader": { "kind": "parameter", "displayName": "Result Header", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Store the operation result in a header instead of the message body. By default, resultHeader == null and t [...]
-  }
-}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
index 76df481..8b18c96 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
@@ -243,8 +243,6 @@ ignite-set-component
 ignite-summary
 inOnly-eip
 inOut-eip
-infinispan-component
-infinispan-embedded-component
 influxdb-component
 intercept
 iota-component
diff --git a/components/camel-infinispan/camel-infinispan-common/pom.xml b/components/camel-infinispan/camel-infinispan-common/pom.xml
new file mode 100644
index 0000000..3989a98
--- /dev/null
+++ b/components/camel-infinispan/camel-infinispan-common/pom.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-infinispan-parent</artifactId>
+        <version>3.8.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>camel-infinispan-common</artifactId>
+    <packaging>jar</packaging>
+    <name>Camel :: Infinispan :: Common</name>
+    <description>Camel Infinispan Common</description>
+
+    <properties>
+        <firstVersion>2.13.0</firstVersion>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-support</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.infinispan</groupId>
+            <artifactId>infinispan-core</artifactId>
+            <version>${infinispan-version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.infinispan</groupId>
+            <artifactId>infinispan-query-dsl</artifactId>
+            <version>${infinispan-version}</version>
+        </dependency>
+
+        <!-- testing -->
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-test-junit5</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>test-jar</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.camel</groupId>
+                <artifactId>camel-package-maven-plugin</artifactId>
+                <configuration>
+                    <!-- set to true to make build fail fast if missing documentation in docs files -->
+                    <failFast>false</failFast>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>generate</id>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                        <phase/>
+                    </execution>
+                    <execution>
+                        <id>generate-postcompile</id>
+                        <goals>
+                            <goal>generate-postcompile</goal>
+                        </goals>
+                        <phase/>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanAggregationRepository.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanAggregationRepository.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanAggregationRepository.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanAggregationRepository.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanComponent.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanComponent.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanComponent.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanComponent.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
similarity index 61%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
index 10824f3..6dd32d2 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
+++ b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
@@ -21,53 +21,43 @@ import java.util.function.BiFunction;
 import org.apache.camel.spi.UriParam;
 
 public abstract class InfinispanConfiguration {
-    @UriParam(label = "producer", defaultValue = "PUT")
+    @UriParam(label = "producer", defaultValue = "PUT", description = "The operation to perform")
     private InfinispanOperation operation = InfinispanOperation.PUT;
-    @UriParam(label = "producer")
+
+    @UriParam(label = "producer", description = "Set a specific key for producer operations")
     private Object key;
-    @UriParam(label = "producer")
+
+    @UriParam(label = "producer", description = "Set a specific value for producer operations")
     private Object value;
-    @UriParam(label = "producer")
+
+    @UriParam(label = "producer", description = "Set a specific old value for some producer operations")
     private Object oldValue;
-    @UriParam(label = "producer")
+
+    @UriParam(label = "producer", description = "Set a specific default value for some producer operations")
     private Object defaultValue;
-    @Deprecated
-    @UriParam(label = "consumer", defaultValue = "PUT")
-    private String command = "PUT";
-    @UriParam(label = "advanced")
+
+    @UriParam(label = "advanced", description = "An implementation specific URI for the CacheManager")
     private String configurationUri;
-    @UriParam(label = "advanced")
-    private String resultHeader;
-    @UriParam(label = "advanced")
-    private BiFunction remappingFunction;
-    @UriParam
-    private InfinispanQueryBuilder queryBuilder;
 
-    public String getCommand() {
-        return operation.toString();
-    }
+    @UriParam(label = "advanced",
+              description = "Store the operation result in a header instead of the message body. By default,\n" +
+                            "resultHeader == null and the query result is stored in the message body, any \n" +
+                            "existing content in the message body is discarded. If resultHeader is set, the \n" +
+                            "value is used as the name of the header to store the query result and the original \n" +
+                            "message body is preserved. This value can be overridden by an in message header \n" +
+                            "named: CamelInfinispanOperationResultHeader")
+    private String resultHeader;
 
-    /**
-     * The operation to perform.
-     *
-     * @deprecated replaced by @{link setOperation}
-     */
-    @Deprecated
-    public void setCommand(String command) {
-        if (command.startsWith(InfinispanConstants.OPERATION)) {
-            command = command.substring(InfinispanConstants.OPERATION.length()).toUpperCase();
-        }
+    @UriParam(label = "advanced", description = "Set a specific remappingFunction to use in a compute operation.")
+    private BiFunction remappingFunction;
 
-        setOperation(InfinispanOperation.valueOf(command));
-    }
+    @UriParam(description = "Specifies the query builder.")
+    private InfinispanQueryBuilder queryBuilder;
 
     public InfinispanOperation getOperation() {
         return operation;
     }
 
-    /**
-     * The operation to perform.
-     */
     public void setOperation(InfinispanOperation operation) {
         this.operation = operation;
     }
@@ -76,9 +66,6 @@ public abstract class InfinispanConfiguration {
         return this.operation != null ? operation : InfinispanOperation.PUT;
     }
 
-    /**
-     * An implementation specific URI for the CacheManager
-     */
     public String getConfigurationUri() {
         return configurationUri;
     }
@@ -91,13 +78,6 @@ public abstract class InfinispanConfiguration {
         return resultHeader;
     }
 
-    /**
-     * Store the operation result in a header instead of the message body. By default, resultHeader == null and the
-     * query result is stored in the message body, any existing content in the message body is discarded. If
-     * resultHeader is set, the value is used as the name of the header to store the query result and the original
-     * message body is preserved. This value can be overridden by an in message header named:
-     * CamelInfinispanOperationResultHeader
-     */
     public void setResultHeader(String resultHeader) {
         this.resultHeader = resultHeader;
     }
@@ -106,9 +86,6 @@ public abstract class InfinispanConfiguration {
         return remappingFunction;
     }
 
-    /**
-     * Set a specific remappingFunction to use in a compute operation
-     */
     public void setRemappingFunction(BiFunction remappingFunction) {
         this.remappingFunction = remappingFunction;
     }
@@ -117,9 +94,6 @@ public abstract class InfinispanConfiguration {
         return key;
     }
 
-    /**
-     * Set a specific key for producer operations
-     */
     public void setKey(Object key) {
         this.key = key;
     }
@@ -128,9 +102,6 @@ public abstract class InfinispanConfiguration {
         return value;
     }
 
-    /**
-     * Set a specific value for producer operations
-     */
     public void setValue(Object value) {
         this.value = value;
     }
@@ -139,9 +110,6 @@ public abstract class InfinispanConfiguration {
         return oldValue;
     }
 
-    /**
-     * Set a specific old value for some producer operations
-     */
     public void setOldValue(Object oldValue) {
         this.oldValue = oldValue;
     }
@@ -150,9 +118,6 @@ public abstract class InfinispanConfiguration {
         return defaultValue;
     }
 
-    /**
-     * Set a specific default value for some producer operations
-     */
     public void setDefaultValue(Object defaultValue) {
         this.defaultValue = defaultValue;
     }
@@ -161,9 +126,6 @@ public abstract class InfinispanConfiguration {
         return queryBuilder;
     }
 
-    /**
-     * Specifies the query builder.
-     */
     public void setQueryBuilder(InfinispanQueryBuilder queryBuilder) {
         this.queryBuilder = queryBuilder;
     }
@@ -171,5 +133,4 @@ public abstract class InfinispanConfiguration {
     public boolean hasQueryBuilder() {
         return queryBuilder != null;
     }
-
 }
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConsumer.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanConsumer.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConsumer.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanConsumer.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEventListener.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanEventListener.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEventListener.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanEventListener.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEventProcessor.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanEventProcessor.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEventProcessor.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanEventProcessor.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanIdempotentRepository.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanIdempotentRepository.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanIdempotentRepository.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanIdempotentRepository.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanManager.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanManager.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanManager.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanManager.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanQueryBuilder.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanQueryBuilder.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanQueryBuilder.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanQueryBuilder.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanRoutePolicy.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanRoutePolicy.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanRoutePolicy.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanRoutePolicy.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
rename to components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanConsumerTestSupport.java b/components/camel-infinispan/camel-infinispan-common/src/test/java/org/apache/camel/component/infinispan/InfinispanConsumerTestSupport.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanConsumerTestSupport.java
rename to components/camel-infinispan/camel-infinispan-common/src/test/java/org/apache/camel/component/infinispan/InfinispanConsumerTestSupport.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanIdempotentRepositoryTestSupport.java b/components/camel-infinispan/camel-infinispan-common/src/test/java/org/apache/camel/component/infinispan/InfinispanIdempotentRepositoryTestSupport.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanIdempotentRepositoryTestSupport.java
rename to components/camel-infinispan/camel-infinispan-common/src/test/java/org/apache/camel/component/infinispan/InfinispanIdempotentRepositoryTestSupport.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTestSupport.java b/components/camel-infinispan/camel-infinispan-common/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTestSupport.java
similarity index 97%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTestSupport.java
rename to components/camel-infinispan/camel-infinispan-common/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTestSupport.java
index c2c4440..5b3460d 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTestSupport.java
+++ b/components/camel-infinispan/camel-infinispan-common/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTestSupport.java
@@ -831,28 +831,6 @@ public interface InfinispanProducerTestSupport {
     }
 
     @Test
-    default void testDeprecatedUriOption() {
-        fluentTemplate()
-                .to("direct:put-deprecated-option")
-                .withHeader(InfinispanConstants.KEY, COMMAND_KEY)
-                .withHeader(InfinispanConstants.VALUE, COMMAND_VALUE)
-                .send();
-
-        assertEquals(COMMAND_VALUE, getCache().get(COMMAND_KEY));
-    }
-
-    @Test
-    default void testDeprecatedUriCommand() {
-        fluentTemplate()
-                .to("direct:put-deprecated-command")
-                .withHeader(InfinispanConstants.KEY, COMMAND_KEY)
-                .withHeader(InfinispanConstants.VALUE, COMMAND_VALUE)
-                .send();
-
-        assertEquals(COMMAND_VALUE, getCache().get(COMMAND_KEY));
-    }
-
-    @Test
     default void clearAsyncTest() throws Exception {
         getCache().put(KEY_ONE, VALUE_ONE);
         getCache().put(KEY_TWO, VALUE_TWO);
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanRoutePolicyTestSupport.java b/components/camel-infinispan/camel-infinispan-common/src/test/java/org/apache/camel/component/infinispan/InfinispanRoutePolicyTestSupport.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanRoutePolicyTestSupport.java
rename to components/camel-infinispan/camel-infinispan-common/src/test/java/org/apache/camel/component/infinispan/InfinispanRoutePolicyTestSupport.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanTestSupport.java b/components/camel-infinispan/camel-infinispan-common/src/test/java/org/apache/camel/component/infinispan/InfinispanTestSupport.java
similarity index 96%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanTestSupport.java
rename to components/camel-infinispan/camel-infinispan-common/src/test/java/org/apache/camel/component/infinispan/InfinispanTestSupport.java
index 775e357..df4a96f 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanTestSupport.java
+++ b/components/camel-infinispan/camel-infinispan-common/src/test/java/org/apache/camel/component/infinispan/InfinispanTestSupport.java
@@ -23,7 +23,7 @@ import org.junit.jupiter.api.TestMethodOrder;
 
 @TestMethodOrder(MethodOrderer.MethodName.class)
 public abstract class InfinispanTestSupport extends CamelTestSupport {
-    protected static final String TEST_CACHE = "mycache";
+    public static final String TEST_CACHE = "mycache";
 
     protected BasicCache<Object, Object> getCache() {
         return getCache(getCacheName());
diff --git a/components/camel-infinispan/camel-infinispan-embedded/pom.xml b/components/camel-infinispan/camel-infinispan-embedded/pom.xml
new file mode 100644
index 0000000..34ed98f
--- /dev/null
+++ b/components/camel-infinispan/camel-infinispan-embedded/pom.xml
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-infinispan-parent</artifactId>
+        <version>3.8.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>camel-infinispan-embedded</artifactId>
+    <packaging>jar</packaging>
+    <name>Camel :: Infinispan :: Embedded</name>
+    <description>Camel Infinispan Embedded support</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-support</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-infinispan-common</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.infinispan</groupId>
+            <artifactId>infinispan-query</artifactId>
+            <version>${infinispan-version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.infinispan</groupId>
+            <artifactId>infinispan-component-annotations</artifactId>
+            <version>${infinispan-version}</version>
+        </dependency>
+
+        <!-- testing - camel -->
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-infinispan-common</artifactId>
+            <version>${project.version}</version>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-test-spring-junit5</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- testing - infinispan -->
+        <dependency>
+            <groupId>org.infinispan</groupId>
+            <artifactId>infinispan-core</artifactId>
+            <version>${infinispan-version}</version>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.infinispan</groupId>
+            <artifactId>infinispan-commons-test</artifactId>
+            <version>${infinispan-version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.infinispan</groupId>
+            <artifactId>infinispan-spring5-embedded</artifactId>
+            <version>${infinispan-version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.infinispan.protostream</groupId>
+            <artifactId>sample-domain-implementation</artifactId>
+            <version>${protostream-version}</version>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- testing - misc -->
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-slf4j-impl</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-test-junit5</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-log</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <systemProperties>
+                        <property>
+                            <name>infinispan.test.jgroups.protocol</name>
+                            <value>tcp</value>
+                        </property>
+                    </systemProperties>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponentConfigurer.java b/components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponentConfigurer.java
similarity index 97%
rename from components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponentConfigurer.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponentConfigurer.java
index c30640a..14df574 100644
--- a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponentConfigurer.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponentConfigurer.java
@@ -38,7 +38,6 @@ public class InfinispanEmbeddedComponentConfigurer extends PropertyConfigurerSup
         case "cacheContainerConfiguration": getOrCreateConfiguration(target).setCacheContainerConfiguration(property(camelContext, org.infinispan.configuration.cache.Configuration.class, value)); return true;
         case "clusteredlistener":
         case "clusteredListener": getOrCreateConfiguration(target).setClusteredListener(property(camelContext, boolean.class, value)); return true;
-        case "command": getOrCreateConfiguration(target).setCommand(property(camelContext, java.lang.String.class, value)); return true;
         case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration.class, value)); return true;
         case "configurationuri":
         case "configurationUri": getOrCreateConfiguration(target).setConfigurationUri(property(camelContext, java.lang.String.class, value)); return true;
@@ -85,7 +84,6 @@ public class InfinispanEmbeddedComponentConfigurer extends PropertyConfigurerSup
         case "cacheContainerConfiguration": return org.infinispan.configuration.cache.Configuration.class;
         case "clusteredlistener":
         case "clusteredListener": return boolean.class;
-        case "command": return java.lang.String.class;
         case "configuration": return org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration.class;
         case "configurationuri":
         case "configurationUri": return java.lang.String.class;
@@ -128,7 +126,6 @@ public class InfinispanEmbeddedComponentConfigurer extends PropertyConfigurerSup
         case "cacheContainerConfiguration": return getOrCreateConfiguration(target).getCacheContainerConfiguration();
         case "clusteredlistener":
         case "clusteredListener": return getOrCreateConfiguration(target).isClusteredListener();
-        case "command": return getOrCreateConfiguration(target).getCommand();
         case "configuration": return target.getConfiguration();
         case "configurationuri":
         case "configurationUri": return getOrCreateConfiguration(target).getConfigurationUri();
diff --git a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpointConfigurer.java b/components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpointConfigurer.java
similarity index 97%
rename from components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpointConfigurer.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpointConfigurer.java
index 3dd246e..08660ec 100644
--- a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpointConfigurer.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpointConfigurer.java
@@ -29,7 +29,6 @@ public class InfinispanEmbeddedEndpointConfigurer extends PropertyConfigurerSupp
         case "cacheContainerConfiguration": target.getConfiguration().setCacheContainerConfiguration(property(camelContext, org.infinispan.configuration.cache.Configuration.class, value)); return true;
         case "clusteredlistener":
         case "clusteredListener": target.getConfiguration().setClusteredListener(property(camelContext, boolean.class, value)); return true;
-        case "command": target.getConfiguration().setCommand(property(camelContext, java.lang.String.class, value)); return true;
         case "configurationuri":
         case "configurationUri": target.getConfiguration().setConfigurationUri(property(camelContext, java.lang.String.class, value)); return true;
         case "customlistener":
@@ -77,7 +76,6 @@ public class InfinispanEmbeddedEndpointConfigurer extends PropertyConfigurerSupp
         case "cacheContainerConfiguration": return org.infinispan.configuration.cache.Configuration.class;
         case "clusteredlistener":
         case "clusteredListener": return boolean.class;
-        case "command": return java.lang.String.class;
         case "configurationuri":
         case "configurationUri": return java.lang.String.class;
         case "customlistener":
@@ -121,7 +119,6 @@ public class InfinispanEmbeddedEndpointConfigurer extends PropertyConfigurerSupp
         case "cacheContainerConfiguration": return target.getConfiguration().getCacheContainerConfiguration();
         case "clusteredlistener":
         case "clusteredListener": return target.getConfiguration().isClusteredListener();
-        case "command": return target.getConfiguration().getCommand();
         case "configurationuri":
         case "configurationUri": return target.getConfiguration().getConfigurationUri();
         case "customlistener":
diff --git a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpointUriFactory.java b/components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpointUriFactory.java
similarity index 96%
rename from components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpointUriFactory.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpointUriFactory.java
index a6e5646..d608348 100644
--- a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpointUriFactory.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpointUriFactory.java
@@ -20,7 +20,7 @@ public class InfinispanEmbeddedEndpointUriFactory extends org.apache.camel.suppo
     private static final Set<String> PROPERTY_NAMES;
     private static final Set<String> SECRET_PROPERTY_NAMES;
     static {
-        Set<String> props = new HashSet<>(22);
+        Set<String> props = new HashSet<>(21);
         props.add("customListener");
         props.add("defaultValue");
         props.add("exchangePattern");
@@ -29,7 +29,6 @@ public class InfinispanEmbeddedEndpointUriFactory extends org.apache.camel.suppo
         props.add("cacheContainer");
         props.add("resultHeader");
         props.add("sync");
-        props.add("command");
         props.add("configurationUri");
         props.add("clusteredListener");
         props.add("lazyStartProducer");
diff --git a/components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/component.properties b/components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/component.properties
new file mode 100644
index 0000000..8da71fb
--- /dev/null
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/component.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+components=infinispan-embedded
+groupId=org.apache.camel
+artifactId=camel-infinispan-embedded
+version=3.8.0-SNAPSHOT
+projectName=Camel :: Infinispan :: Embedded
+projectDescription=Camel Infinispan Embedded support
diff --git a/components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/component/infinispan-embedded b/components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/component/infinispan-embedded
similarity index 100%
rename from components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/component/infinispan-embedded
rename to components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/component/infinispan-embedded
diff --git a/components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-embedded-component b/components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-embedded-component
similarity index 100%
rename from components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-embedded-component
rename to components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-embedded-component
diff --git a/components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-embedded-endpoint b/components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-embedded-endpoint
similarity index 100%
rename from components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-embedded-endpoint
rename to components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-embedded-endpoint
diff --git a/components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/urifactory/infinispan-embedded-endpoint b/components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/urifactory/infinispan-embedded-endpoint
similarity index 100%
rename from components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/urifactory/infinispan-embedded-endpoint
rename to components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/urifactory/infinispan-embedded-endpoint
diff --git a/components/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/embedded/infinispan-embedded.json b/components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/org/apache/camel/component/infinispan/embedded/infinispan-embedded.json
similarity index 95%
rename from components/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/embedded/infinispan-embedded.json
rename to components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/org/apache/camel/component/infinispan/embedded/infinispan-embedded.json
index 62c5705..63daf90 100644
--- a/components/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/embedded/infinispan-embedded.json
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/org/apache/camel/component/infinispan/embedded/infinispan-embedded.json
@@ -10,7 +10,7 @@
     "javaType": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedComponent",
     "supportLevel": "Stable",
     "groupId": "org.apache.camel",
-    "artifactId": "camel-infinispan",
+    "artifactId": "camel-infinispan-embedded",
     "version": "3.8.0-SNAPSHOT",
     "scheme": "infinispan-embedded",
     "extendsScheme": "",
@@ -26,7 +26,6 @@
     "queryBuilder": { "kind": "property", "displayName": "Query Builder", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanQueryBuilder", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Specifies the query builder." },
     "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 [...]
     "clusteredListener": { "kind": "property", "displayName": "Clustered Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "If true, the listener will be installed for the entire cluster" },
-    "command": { "kind": "property", "displayName": "Command", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "autowired": false, "secret": false, "defaultValue": "PUT", "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "The operation to perform." },
     "customListener": { "kind": "property", "displayName": "Custom Listener", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedCustomListener", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Returns the custom list [...]
     "eventTypes": { "kind": "property", "displayName": "Event Types", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Specifies the set of event types to register by the consumer.Multiple event can be separated b [...]
     "sync": { "kind": "property", "displayName": "Sync", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "If true, the consumer will receive notifications synchronously" },
@@ -34,14 +33,14 @@
     "key": { "kind": "property", "displayName": "Key", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific key for producer operations" },
     "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 [...]
     "oldValue": { "kind": "property", "displayName": "Old Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific old value for some producer operations" },
-    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ], [...]
+    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ], [...]
     "value": { "kind": "property", "displayName": "Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific value for producer operations" },
     "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 [...]
     "cacheContainer": { "kind": "property", "displayName": "Cache Container", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.manager.EmbeddedCacheManager", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Specifies the cache Container to connect" },
     "cacheContainerConfiguration": { "kind": "property", "displayName": "Cache Container Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.configuration.cache.Configuration", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "The C [...]
     "configurationUri": { "kind": "property", "displayName": "Configuration Uri", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "An implementation specific URI for the CacheManager" },
     "flags": { "kind": "property", "displayName": "Flags", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remot [...]
-    "remappingFunction": { "kind": "property", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation" },
+    "remappingFunction": { "kind": "property", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation." },
     "resultHeader": { "kind": "property", "displayName": "Result Header", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Store the operation result in a header instead of the message body. By default, resultHead [...]
   },
   "properties": {
@@ -49,7 +48,6 @@
     "queryBuilder": { "kind": "parameter", "displayName": "Query Builder", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanQueryBuilder", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Specifies the query builder." },
     "bridgeErrorHandler": { "kind": "parameter", "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 m [...]
     "clusteredListener": { "kind": "parameter", "displayName": "Clustered Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "If true, the listener will be installed for the entire cluster" },
-    "command": { "kind": "parameter", "displayName": "Command", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "autowired": false, "secret": false, "defaultValue": "PUT", "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "The operation to perform." },
     "customListener": { "kind": "parameter", "displayName": "Custom Listener", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedCustomListener", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Returns the custom lis [...]
     "eventTypes": { "kind": "parameter", "displayName": "Event Types", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Specifies the set of event types to register by the consumer.Multiple event can be separated  [...]
     "sync": { "kind": "parameter", "displayName": "Sync", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "If true, the consumer will receive notifications synchronously" },
@@ -59,13 +57,13 @@
     "key": { "kind": "parameter", "displayName": "Key", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific key for producer operations" },
     "lazyStartProducer": { "kind": "parameter", "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 sta [...]
     "oldValue": { "kind": "parameter", "displayName": "Old Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific old value for some producer operations" },
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ] [...]
+    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ] [...]
     "value": { "kind": "parameter", "displayName": "Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific value for producer operations" },
     "cacheContainer": { "kind": "parameter", "displayName": "Cache Container", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.manager.EmbeddedCacheManager", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Specifies the cache Container to con [...]
     "cacheContainerConfiguration": { "kind": "parameter", "displayName": "Cache Container Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.configuration.cache.Configuration", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "The  [...]
     "configurationUri": { "kind": "parameter", "displayName": "Configuration Uri", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "An implementation specific URI for the CacheManager" },
     "flags": { "kind": "parameter", "displayName": "Flags", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remo [...]
-    "remappingFunction": { "kind": "parameter", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation" },
+    "remappingFunction": { "kind": "parameter", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation." },
     "resultHeader": { "kind": "parameter", "displayName": "Result Header", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration", "configurationField": "configuration", "description": "Store the operation result in a header instead of the message body. By default, resultHea [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/infinispan-embedded-component.adoc b/components/camel-infinispan/camel-infinispan-embedded/src/main/docs/infinispan-embedded-component.adoc
similarity index 98%
rename from catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/infinispan-embedded-component.adoc
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/docs/infinispan-embedded-component.adoc
index 1b78ba5..3b2f7f3 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/infinispan-embedded-component.adoc
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/main/docs/infinispan-embedded-component.adoc
@@ -1,7 +1,7 @@
 [[infinispan-embedded-component]]
 = Infinispan Embedded Component
 :docTitle: Infinispan Embedded
-:artifactId: camel-infinispan
+:artifactId: camel-infinispan-embedded
 :description: Read and write from/to Infinispan distributed key/value store and data grid.
 :since: 2.13
 :supportLevel: Stable
@@ -36,7 +36,7 @@ If you use Maven, you must add the following dependency to your `pom.xml`:
 ------------------------------------------------------------
 <dependency>
     <groupId>org.apache.camel</groupId>
-    <artifactId>camel-infinispan</artifactId>
+    <artifactId>camel-infinispan-embedded</artifactId>
     <version>x.x.x</version>
     <!-- use the same version as your Camel core version -->
 </dependency>
@@ -60,7 +60,7 @@ If no cache configuration is provided, embedded cacheContainer is created direct
 
 
 // component options: START
-The Infinispan Embedded component supports 21 options, which are listed below.
+The Infinispan Embedded component supports 20 options, which are listed below.
 
 
 
@@ -71,7 +71,6 @@ The Infinispan Embedded component supports 21 options, which are listed below.
 | *queryBuilder* (common) | Specifies the query builder. |  | InfinispanQueryBuilder
 | *bridgeErrorHandler* (consumer) | 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 message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *clusteredListener* (consumer) | If true, the listener will be installed for the entire cluster | false | boolean
-| *command* (consumer) | *Deprecated* The operation to perform. | PUT | String
 | *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanEmbeddedCustomListener
 | *eventTypes* (consumer) | Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, CACHE_ENTRY_EXPIRED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED, PERSIS [...]
 | *sync* (consumer) | If true, the consumer will receive notifications synchronously | true | boolean
@@ -86,7 +85,7 @@ The Infinispan Embedded component supports 21 options, which are listed below.
 | *cacheContainerConfiguration* (advanced) | *Autowired* The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Configuration
 | *configurationUri* (advanced) | An implementation specific URI for the CacheManager |  | String
 | *flags* (advanced) | A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches. |  | String
-| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation |  | BiFunction
+| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation. |  | BiFunction
 | *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | String
 |===
 // component options: END
@@ -113,7 +112,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (21 parameters):
+=== Query Parameters (20 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -122,7 +121,6 @@ with the following path and query parameters:
 | *queryBuilder* (common) | Specifies the query builder. |  | InfinispanQueryBuilder
 | *bridgeErrorHandler* (consumer) | 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 message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *clusteredListener* (consumer) | If true, the listener will be installed for the entire cluster | false | boolean
-| *command* (consumer) | *Deprecated* The operation to perform. | PUT | String
 | *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanEmbeddedCustomListener
 | *eventTypes* (consumer) | Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, CACHE_ENTRY_EXPIRED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED, PERSIS [...]
 | *sync* (consumer) | If true, the consumer will receive notifications synchronously | true | boolean
@@ -138,7 +136,7 @@ with the following path and query parameters:
 | *cacheContainerConfiguration* (advanced) | *Autowired* The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Configuration
 | *configurationUri* (advanced) | An implementation specific URI for the CacheManager |  | String
 | *flags* (advanced) | A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches. |  | String
-| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation |  | BiFunction
+| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation. |  | BiFunction
 | *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | String
 |===
 // endpoint options: END
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepository.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepository.java
similarity index 93%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepository.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepository.java
index 45cd27c..36b0840 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepository.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepository.java
@@ -19,7 +19,6 @@ package org.apache.camel.component.infinispan.embedded;
 import java.util.function.Supplier;
 
 import org.apache.camel.component.infinispan.InfinispanAggregationRepository;
-import org.apache.camel.component.infinispan.remote.InfinispanRemoteAggregationRepository;
 import org.apache.camel.support.DefaultExchangeHolder;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
@@ -33,7 +32,7 @@ public class InfinispanEmbeddedAggregationRepository extends InfinispanAggregati
     private InfinispanEmbeddedManager manager;
 
     /**
-     * Creates new {@link InfinispanRemoteAggregationRepository} that defaults to non-optimistic locking with
+     * Creates new {@link InfinispanEmbeddedAggregationRepository} that defaults to non-optimistic locking with
      * recoverable behavior and a local Infinispan cache.
      *
      * @param cacheName cache name
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponent.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponent.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponent.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponent.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConfiguration.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConfiguration.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConfiguration.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConfiguration.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedCustomListener.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedCustomListener.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedCustomListener.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedCustomListener.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpoint.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpoint.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpoint.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpoint.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListener.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListener.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListener.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListener.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListeners.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListeners.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListeners.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListeners.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedIdempotentRepository.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedIdempotentRepository.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedIdempotentRepository.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedIdempotentRepository.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducer.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducer.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducer.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducer.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedRoutePolicy.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedRoutePolicy.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedRoutePolicy.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedRoutePolicy.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedUtil.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedUtil.java
similarity index 94%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedUtil.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedUtil.java
index 1efe3b0..8d992bb 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedUtil.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedUtil.java
@@ -21,7 +21,6 @@ import org.apache.camel.component.infinispan.InfinispanConfiguration;
 import org.apache.camel.component.infinispan.InfinispanConstants;
 import org.apache.camel.component.infinispan.InfinispanQueryBuilder;
 import org.apache.camel.component.infinispan.InfinispanUtil;
-import org.apache.camel.component.infinispan.remote.InfinispanRemoteManager;
 import org.infinispan.Cache;
 import org.infinispan.context.Flag;
 import org.infinispan.query.Search;
@@ -32,7 +31,7 @@ public final class InfinispanEmbeddedUtil extends InfinispanUtil {
     }
 
     @SuppressWarnings("unchecked")
-    public static <K, V> Cache<K, V> getCacheWithFlags(InfinispanRemoteManager manager, String cacheName, Flag... flags) {
+    public static <K, V> Cache<K, V> getCacheWithFlags(InfinispanEmbeddedManager manager, String cacheName, Flag... flags) {
         final Cache<K, V> cache = manager.getCache(cacheName, Cache.class);
 
         return flags == null || flags.length == 0 ? cache : cache.getAdvancedCache().withFlags(flags);
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepositoryOperationsTest.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepositoryOperationsTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepositoryOperationsTest.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepositoryOperationsTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepositoryTest.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepositoryTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepositoryTest.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedAggregationRepositoryTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedClusteredConsumerTest.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedClusteredConsumerTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedClusteredConsumerTest.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedClusteredConsumerTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedClusteredTestSupport.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedClusteredTestSupport.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedClusteredTestSupport.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedClusteredTestSupport.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConfigurationTest.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConfigurationTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConfigurationTest.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConfigurationTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumerTest.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumerTest.java
similarity index 87%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumerTest.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumerTest.java
index 5e25990..755eb62 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumerTest.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumerTest.java
@@ -37,20 +37,20 @@ public class InfinispanEmbeddedConsumerTest extends InfinispanEmbeddedTestSuppor
         mock.message(0).header(InfinispanConstants.EVENT_TYPE).isEqualTo("CACHE_ENTRY_CREATED");
         mock.message(0).header(InfinispanConstants.IS_PRE).isEqualTo(true);
         mock.message(0).header(InfinispanConstants.CACHE_NAME).isNotNull();
-        mock.message(0).header(InfinispanConstants.KEY).isEqualTo(KEY_ONE);
+        mock.message(0).header(InfinispanConstants.KEY).isEqualTo(InfinispanConsumerTestSupport.KEY_ONE);
 
         mock.message(1).header(InfinispanConstants.EVENT_TYPE).isEqualTo("CACHE_ENTRY_CREATED");
         mock.message(1).header(InfinispanConstants.IS_PRE).isEqualTo(false);
         mock.message(1).header(InfinispanConstants.CACHE_NAME).isNotNull();
-        mock.message(1).header(InfinispanConstants.KEY).isEqualTo(KEY_ONE);
+        mock.message(1).header(InfinispanConstants.KEY).isEqualTo(InfinispanConsumerTestSupport.KEY_ONE);
 
-        getCache().put(KEY_ONE, VALUE_ONE);
+        getCache().put(InfinispanConsumerTestSupport.KEY_ONE, InfinispanConsumerTestSupport.VALUE_ONE);
         mock.assertIsSatisfied();
     }
 
     @Test
     public void consumerReceivedPreAndPostEntryRemoveEventNotifications() throws Exception {
-        getCache().put(KEY_ONE, VALUE_ONE);
+        getCache().put(InfinispanConsumerTestSupport.KEY_ONE, InfinispanConsumerTestSupport.VALUE_ONE);
 
         MockEndpoint mock = getMockEndpoint("mock:removed");
         mock.expectedMessageCount(2);
@@ -58,21 +58,21 @@ public class InfinispanEmbeddedConsumerTest extends InfinispanEmbeddedTestSuppor
         mock.message(0).header(InfinispanConstants.EVENT_TYPE).isEqualTo("CACHE_ENTRY_REMOVED");
         mock.message(0).header(InfinispanConstants.IS_PRE).isEqualTo(true);
         mock.message(0).header(InfinispanConstants.CACHE_NAME).isNotNull();
-        mock.message(0).header(InfinispanConstants.KEY).isEqualTo(KEY_ONE);
+        mock.message(0).header(InfinispanConstants.KEY).isEqualTo(InfinispanConsumerTestSupport.KEY_ONE);
 
         mock.message(1).header(InfinispanConstants.EVENT_TYPE).isEqualTo("CACHE_ENTRY_REMOVED");
         mock.message(1).header(InfinispanConstants.IS_PRE).isEqualTo(false);
         mock.message(1).header(InfinispanConstants.CACHE_NAME).isNotNull();
-        mock.message(1).header(InfinispanConstants.KEY).isEqualTo(KEY_ONE);
+        mock.message(1).header(InfinispanConstants.KEY).isEqualTo(InfinispanConsumerTestSupport.KEY_ONE);
 
-        getCache().remove(KEY_ONE);
+        getCache().remove(InfinispanConsumerTestSupport.KEY_ONE);
 
         mock.assertIsSatisfied();
     }
 
     @Test
     public void consumerReceivedPreAndPostEntryUpdateEventNotifications() throws Exception {
-        getCache().put(KEY_ONE, VALUE_ONE);
+        getCache().put(InfinispanConsumerTestSupport.KEY_ONE, InfinispanConsumerTestSupport.VALUE_ONE);
 
         MockEndpoint mock = getMockEndpoint("mock:modified");
         mock.expectedMessageCount(2);
@@ -80,21 +80,21 @@ public class InfinispanEmbeddedConsumerTest extends InfinispanEmbeddedTestSuppor
         mock.message(0).header(InfinispanConstants.EVENT_TYPE).isEqualTo("CACHE_ENTRY_MODIFIED");
         mock.message(0).header(InfinispanConstants.IS_PRE).isEqualTo(true);
         mock.message(0).header(InfinispanConstants.CACHE_NAME).isNotNull();
-        mock.message(0).header(InfinispanConstants.KEY).isEqualTo(KEY_ONE);
+        mock.message(0).header(InfinispanConstants.KEY).isEqualTo(InfinispanConsumerTestSupport.KEY_ONE);
 
         mock.message(1).header(InfinispanConstants.EVENT_TYPE).isEqualTo("CACHE_ENTRY_MODIFIED");
         mock.message(1).header(InfinispanConstants.IS_PRE).isEqualTo(false);
         mock.message(1).header(InfinispanConstants.CACHE_NAME).isNotNull();
-        mock.message(1).header(InfinispanConstants.KEY).isEqualTo(KEY_ONE);
+        mock.message(1).header(InfinispanConstants.KEY).isEqualTo(InfinispanConsumerTestSupport.KEY_ONE);
 
-        getCache().replace(KEY_ONE, VALUE_TWO);
+        getCache().replace(InfinispanConsumerTestSupport.KEY_ONE, InfinispanConsumerTestSupport.VALUE_TWO);
 
         mock.assertIsSatisfied();
     }
 
     @Test
     public void consumerReceivedPreAndPostEntryVisitedEventNotifications() throws Exception {
-        getCache().put(KEY_ONE, VALUE_ONE);
+        getCache().put(InfinispanConsumerTestSupport.KEY_ONE, InfinispanConsumerTestSupport.VALUE_ONE);
 
         MockEndpoint mock = getMockEndpoint("mock:visited");
         mock.expectedMessageCount(2);
@@ -102,14 +102,14 @@ public class InfinispanEmbeddedConsumerTest extends InfinispanEmbeddedTestSuppor
         mock.message(0).header(InfinispanConstants.EVENT_TYPE).isEqualTo("CACHE_ENTRY_VISITED");
         mock.message(0).header(InfinispanConstants.IS_PRE).isEqualTo(true);
         mock.message(0).header(InfinispanConstants.CACHE_NAME).isNotNull();
-        mock.message(0).header(InfinispanConstants.KEY).isEqualTo(KEY_ONE);
+        mock.message(0).header(InfinispanConstants.KEY).isEqualTo(InfinispanConsumerTestSupport.KEY_ONE);
 
         mock.message(1).header(InfinispanConstants.EVENT_TYPE).isEqualTo("CACHE_ENTRY_VISITED");
         mock.message(1).header(InfinispanConstants.IS_PRE).isEqualTo(false);
         mock.message(1).header(InfinispanConstants.CACHE_NAME).isNotNull();
-        mock.message(1).header(InfinispanConstants.KEY).isEqualTo(KEY_ONE);
+        mock.message(1).header(InfinispanConstants.KEY).isEqualTo(InfinispanConsumerTestSupport.KEY_ONE);
 
-        getCache().get(KEY_ONE);
+        getCache().get(InfinispanConsumerTestSupport.KEY_ONE);
 
         mock.assertIsSatisfied();
     }
@@ -139,7 +139,7 @@ public class InfinispanEmbeddedConsumerTest extends InfinispanEmbeddedTestSuppor
         MockEndpoint mock = getMockEndpoint("mock:sync");
         mock.expectedMessageCount(2);
 
-        getCache().put(KEY_ONE, VALUE_ONE);
+        getCache().put(InfinispanConsumerTestSupport.KEY_ONE, InfinispanConsumerTestSupport.VALUE_ONE);
         mock.assertIsSatisfied();
     }
 
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedCustomListenerTest.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedCustomListenerTest.java
similarity index 97%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedCustomListenerTest.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedCustomListenerTest.java
index ee0e297..12f4241 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedCustomListenerTest.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedCustomListenerTest.java
@@ -38,7 +38,7 @@ public class InfinispanEmbeddedCustomListenerTest extends InfinispanEmbeddedTest
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(2);
 
-        getCache().put(KEY_ONE, VALUE_ONE);
+        getCache().put(InfinispanConsumerTestSupport.KEY_ONE, InfinispanConsumerTestSupport.VALUE_ONE);
 
         mock.message(0).header(InfinispanConstants.IS_PRE).isEqualTo(true);
         mock.message(0).header(InfinispanConstants.KEY).isEqualTo("newKey");
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedIdempotentRepositoryTest.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedIdempotentRepositoryTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedIdempotentRepositoryTest.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedIdempotentRepositoryTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducerTest.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducerTest.java
similarity index 84%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducerTest.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducerTest.java
index 88c9466..46a4a1c 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducerTest.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducerTest.java
@@ -43,21 +43,21 @@ public class InfinispanEmbeddedProducerTest extends InfinispanEmbeddedTestSuppor
 
         fluentTemplate()
                 .to("direct:start")
-                .withHeader(InfinispanConstants.KEY, KEY_ONE)
-                .withHeader(InfinispanConstants.VALUE, VALUE_ONE)
+                .withHeader(InfinispanConstants.KEY, InfinispanProducerTestSupport.KEY_ONE)
+                .withHeader(InfinispanConstants.VALUE, InfinispanProducerTestSupport.VALUE_ONE)
                 .withHeader(InfinispanConstants.OPERATION, InfinispanOperation.PUT)
                 .send();
 
-        assertEquals(VALUE_ONE, getCache().get(KEY_ONE));
+        assertEquals(InfinispanProducerTestSupport.VALUE_ONE, getCache().get(InfinispanProducerTestSupport.KEY_ONE));
 
         fluentTemplate()
                 .to("direct:start")
-                .withHeader(InfinispanConstants.KEY, KEY_TWO)
-                .withHeader(InfinispanConstants.VALUE, VALUE_TWO)
+                .withHeader(InfinispanConstants.KEY, InfinispanProducerTestSupport.KEY_TWO)
+                .withHeader(InfinispanConstants.VALUE, InfinispanProducerTestSupport.VALUE_TWO)
                 .withHeader(InfinispanConstants.OPERATION, InfinispanOperation.PUT)
                 .send();
 
-        assertEquals(VALUE_TWO, getCache().get(KEY_TWO));
+        assertEquals(InfinispanProducerTestSupport.VALUE_TWO, getCache().get(InfinispanProducerTestSupport.KEY_TWO));
 
         assertEquals(
                 2L,
@@ -95,10 +95,6 @@ public class InfinispanEmbeddedProducerTest extends InfinispanEmbeddedTestSuppor
             public void configure() {
                 from("direct:start")
                         .toF("infinispan-embedded:%s", getCacheName());
-                from("direct:put-deprecated-option")
-                        .toF("infinispan-embedded:%s?command=PUT", getCacheName());
-                from("direct:put-deprecated-command")
-                        .toF("infinispan-embedded:%s?command=CamelInfinispanOperationPut", getCacheName());
                 from("direct:compute")
                         .toF("infinispan-embedded:%s?remappingFunction=#mappingFunction", getCacheName());
                 from("direct:explicitput")
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedQueryConsumerTest.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedQueryConsumerTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedQueryConsumerTest.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedQueryConsumerTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedQueryProducerTest.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedQueryProducerTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedQueryProducerTest.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedQueryProducerTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedQueryTestSupport.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedQueryTestSupport.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedQueryTestSupport.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedQueryTestSupport.java
diff --git a/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedRoutePolicyTest.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedRoutePolicyTest.java
new file mode 100644
index 0000000..9c02b7a
--- /dev/null
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedRoutePolicyTest.java
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.infinispan.embedded;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.infinispan.InfinispanRoutePolicy;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.infinispan.commons.api.CacheContainerAdmin;
+import org.infinispan.configuration.cache.CacheMode;
+import org.infinispan.configuration.cache.ConfigurationBuilder;
+import org.infinispan.manager.DefaultCacheManager;
+import org.infinispan.manager.EmbeddedCacheManager;
+import org.junit.jupiter.api.Test;
+
+import static org.awaitility.Awaitility.await;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+public class InfinispanEmbeddedRoutePolicyTest {
+    public static final String CACHE_NAME = "_route_policy";
+
+    @Test
+    public void testLeadership() throws Exception {
+        try (EmbeddedCacheManager cacheContainer = createCacheContainer()) {
+
+            cacheContainer.start();
+
+            final InfinispanRoutePolicy policy1 = createRoutePolicy(cacheContainer, "route1");
+            final InfinispanRoutePolicy policy2 = createRoutePolicy(cacheContainer, "route2");
+
+            try (CamelContext context = new DefaultCamelContext()) {
+                context.start();
+
+                RouteBuilder.addRoutes(context, b -> b.from("direct:r1").routePolicy(policy1).to("mock:p1"));
+
+                await().atMost(10, TimeUnit.SECONDS).until(policy1::isLeader);
+
+                RouteBuilder.addRoutes(context, b -> b.from("direct:r2").routePolicy(policy2).to("mock:p2"));
+
+                assertTrue(policy1.isLeader());
+                assertFalse(policy2.isLeader());
+
+                policy1.shutdown();
+
+                await().atMost(10, TimeUnit.SECONDS).until(policy2::isLeader);
+
+                assertFalse(policy1.isLeader());
+                assertTrue(policy2.isLeader());
+            }
+        }
+    }
+
+    // *****************************
+    //
+    // *****************************
+
+    private static EmbeddedCacheManager createCacheContainer() {
+        DefaultCacheManager cacheContainer = new DefaultCacheManager();
+        cacheContainer.administration()
+                .withFlags(CacheContainerAdmin.AdminFlag.VOLATILE)
+                .getOrCreateCache(
+                        CACHE_NAME,
+                        new ConfigurationBuilder()
+                                .clustering().cacheMode(CacheMode.LOCAL)
+                                .build());
+
+        return cacheContainer;
+    }
+
+    private static InfinispanRoutePolicy createRoutePolicy(EmbeddedCacheManager cacheContainer, String lockValue) {
+        InfinispanEmbeddedConfiguration configuration = new InfinispanEmbeddedConfiguration();
+        configuration.setCacheContainer(cacheContainer);
+
+        InfinispanEmbeddedRoutePolicy policy = new InfinispanEmbeddedRoutePolicy(configuration);
+        policy.setLockMapName(CACHE_NAME);
+        policy.setLockKey("lock-key");
+        policy.setLockValue(lockValue);
+
+        return policy;
+    }
+}
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedTestSupport.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedTestSupport.java
similarity index 98%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedTestSupport.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedTestSupport.java
index 29a9a8d..e887c9c 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedTestSupport.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedTestSupport.java
@@ -42,7 +42,7 @@ public class InfinispanEmbeddedTestSupport extends InfinispanTestSupport {
         cacheContainer.administration()
                 .withFlags(CacheContainerAdmin.AdminFlag.VOLATILE)
                 .getOrCreateCache(
-                        TEST_CACHE,
+                        InfinispanTestSupport.TEST_CACHE,
                         getConfiguration().build());
 
         super.setupResources();
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/spring/SpringInfinispanEmbeddedIdempotentRepositoryCamelTest.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/spring/SpringInfinispanEmbeddedIdempotentRepositoryCamelTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/spring/SpringInfinispanEmbeddedIdempotentRepositoryCamelTest.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/spring/SpringInfinispanEmbeddedIdempotentRepositoryCamelTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/spring/SpringInfinispanEmbeddedIdempotentRepositorySpringTest.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/spring/SpringInfinispanEmbeddedIdempotentRepositorySpringTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/spring/SpringInfinispanEmbeddedIdempotentRepositorySpringTest.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/spring/SpringInfinispanEmbeddedIdempotentRepositorySpringTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/spring/SpringInfinispanEmbeddedIdempotentRepositoryTestSupport.java b/components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/spring/SpringInfinispanEmbeddedIdempotentRepositoryTestSupport.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/spring/SpringInfinispanEmbeddedIdempotentRepositoryTestSupport.java
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/java/org/apache/camel/component/infinispan/embedded/spring/SpringInfinispanEmbeddedIdempotentRepositoryTestSupport.java
diff --git a/components/camel-infinispan/src/test/resources/log4j2.properties b/components/camel-infinispan/camel-infinispan-embedded/src/test/resources/log4j2.properties
similarity index 100%
copy from components/camel-infinispan/src/test/resources/log4j2.properties
copy to components/camel-infinispan/camel-infinispan-embedded/src/test/resources/log4j2.properties
diff --git a/components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanEmbeddedIdempotentRepositoryCamelTest.xml b/components/camel-infinispan/camel-infinispan-embedded/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanEmbeddedIdempotentRepositoryCamelTest.xml
similarity index 100%
rename from components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanEmbeddedIdempotentRepositoryCamelTest.xml
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanEmbeddedIdempotentRepositoryCamelTest.xml
diff --git a/components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanEmbeddedIdempotentRepositoryConfiguration.xml b/components/camel-infinispan/camel-infinispan-embedded/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanEmbeddedIdempotentRepositoryConfiguration.xml
similarity index 100%
rename from components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanEmbeddedIdempotentRepositoryConfiguration.xml
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanEmbeddedIdempotentRepositoryConfiguration.xml
diff --git a/components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanEmbeddedIdempotentRepositorySpringTest.xml b/components/camel-infinispan/camel-infinispan-embedded/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanEmbeddedIdempotentRepositorySpringTest.xml
similarity index 100%
rename from components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanEmbeddedIdempotentRepositorySpringTest.xml
rename to components/camel-infinispan/camel-infinispan-embedded/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanEmbeddedIdempotentRepositorySpringTest.xml
diff --git a/components/camel-infinispan/pom.xml b/components/camel-infinispan/camel-infinispan/pom.xml
similarity index 84%
copy from components/camel-infinispan/pom.xml
copy to components/camel-infinispan/camel-infinispan/pom.xml
index 564d9fa..7db9c45 100644
--- a/components/camel-infinispan/pom.xml
+++ b/components/camel-infinispan/camel-infinispan/pom.xml
@@ -23,18 +23,14 @@
 
     <parent>
         <groupId>org.apache.camel</groupId>
-        <artifactId>components</artifactId>
+        <artifactId>camel-infinispan-parent</artifactId>
         <version>3.8.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>camel-infinispan</artifactId>
     <packaging>jar</packaging>
-    <name>Camel :: Infinispan</name>
-    <description>Camel Infinispan support</description>
-
-    <properties>
-      <protostream-version>4.3.0.Final</protostream-version>
-    </properties>
+    <name>Camel :: Infinispan :: Remote</name>
+    <description>Camel Infinispan Remote support</description>
 
     <dependencies>
         <dependency>
@@ -42,14 +38,8 @@
             <artifactId>camel-support</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-core</artifactId>
-            <version>${infinispan-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-query-dsl</artifactId>
-            <version>${infinispan-version}</version>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-infinispan-common</artifactId>
         </dependency>
         <dependency>
             <groupId>org.infinispan</groupId>
@@ -58,16 +48,6 @@
         </dependency>
         <dependency>
             <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-component-annotations</artifactId>
-            <version>${infinispan-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-query</artifactId>
-            <version>${infinispan-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
             <artifactId>infinispan-remote-query-client</artifactId>
             <version>${infinispan-version}</version>
         </dependency>
@@ -82,34 +62,51 @@
             <version>${infinispan-version}</version>
         </dependency>
 
-        <!-- testing -->
+        <!-- testing - camel -->
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-test-spring-junit5</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-core</artifactId>
-            <version>${infinispan-version}</version>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-infinispan-common</artifactId>
+            <version>${project.version}</version>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-test-infra-common</artifactId>
+            <version>${project.version}</version>
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-test-infra-infinispan</artifactId>
+            <version>${project.version}</version>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- testing - infinispan -->
+        <dependency>
             <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-commons-test</artifactId>
+            <artifactId>infinispan-core</artifactId>
             <version>${infinispan-version}</version>
+            <type>test-jar</type>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-spring5-remote</artifactId>
+            <artifactId>infinispan-commons-test</artifactId>
             <version>${infinispan-version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-spring5-embedded</artifactId>
+            <artifactId>infinispan-spring5-remote</artifactId>
             <version>${infinispan-version}</version>
             <scope>test</scope>
         </dependency>
@@ -125,6 +122,8 @@
             <version>${protostream-version}</version>
             <scope>test</scope>
         </dependency>
+
+        <!-- testing - misc -->
         <dependency>
             <groupId>org.apache.logging.log4j</groupId>
             <artifactId>log4j-slf4j-impl</artifactId>
@@ -146,22 +145,6 @@
             <scope>test</scope>
         </dependency>
 
-        <!-- test infra -->
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-infra-common</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-infra-infinispan</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <profiles>
@@ -176,12 +159,6 @@
                         <artifactId>maven-surefire-plugin</artifactId>
                         <configuration>
                             <skipTests>true</skipTests>
-                            <systemProperties>
-                                <property>
-                                    <name>infinispan.test.jgroups.protocol</name>
-                                    <value>tcp</value>
-                                </property>
-                            </systemProperties>
                         </configuration>
                     </plugin>
                 </plugins>
@@ -201,6 +178,8 @@
                     <plugin>
                         <artifactId>maven-surefire-plugin</artifactId>
                         <configuration>
+                            <forkCount>1</forkCount>
+                            <reuseForks>false</reuseForks>
                             <skipTests>${skipTests}</skipTests>
                             <systemPropertyVariables>
                                 <visibleassertions.silence>true</visibleassertions.silence>
@@ -230,6 +209,8 @@
                     <plugin>
                         <artifactId>maven-surefire-plugin</artifactId>
                         <configuration>
+                            <forkCount>1</forkCount>
+                            <reuseForks>false</reuseForks>
                             <skipTests>${skipTests}</skipTests>
                             <systemPropertyVariables>
                                 <visibleassertions.silence>true</visibleassertions.silence>
diff --git a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponentConfigurer.java b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponentConfigurer.java
similarity index 97%
rename from components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponentConfigurer.java
rename to components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponentConfigurer.java
index 13da027..d50b428 100644
--- a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponentConfigurer.java
+++ b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponentConfigurer.java
@@ -36,7 +36,6 @@ public class InfinispanRemoteComponentConfigurer extends PropertyConfigurerSuppo
         case "cacheContainer": getOrCreateConfiguration(target).setCacheContainer(property(camelContext, org.infinispan.client.hotrod.RemoteCacheManager.class, value)); return true;
         case "cachecontainerconfiguration":
         case "cacheContainerConfiguration": getOrCreateConfiguration(target).setCacheContainerConfiguration(property(camelContext, org.infinispan.client.hotrod.configuration.Configuration.class, value)); return true;
-        case "command": getOrCreateConfiguration(target).setCommand(property(camelContext, java.lang.String.class, value)); return true;
         case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration.class, value)); return true;
         case "configurationproperties":
         case "configurationProperties": getOrCreateConfiguration(target).setConfigurationProperties(property(camelContext, java.util.Map.class, value)); return true;
@@ -92,7 +91,6 @@ public class InfinispanRemoteComponentConfigurer extends PropertyConfigurerSuppo
         case "cacheContainer": return org.infinispan.client.hotrod.RemoteCacheManager.class;
         case "cachecontainerconfiguration":
         case "cacheContainerConfiguration": return org.infinispan.client.hotrod.configuration.Configuration.class;
-        case "command": return java.lang.String.class;
         case "configuration": return org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration.class;
         case "configurationproperties":
         case "configurationProperties": return java.util.Map.class;
@@ -144,7 +142,6 @@ public class InfinispanRemoteComponentConfigurer extends PropertyConfigurerSuppo
         case "cacheContainer": return getOrCreateConfiguration(target).getCacheContainer();
         case "cachecontainerconfiguration":
         case "cacheContainerConfiguration": return getOrCreateConfiguration(target).getCacheContainerConfiguration();
-        case "command": return getOrCreateConfiguration(target).getCommand();
         case "configuration": return target.getConfiguration();
         case "configurationproperties":
         case "configurationProperties": return getOrCreateConfiguration(target).getConfigurationProperties();
diff --git a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointConfigurer.java b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointConfigurer.java
similarity index 97%
rename from components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointConfigurer.java
rename to components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointConfigurer.java
index 46f2c08..a2567f7 100644
--- a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointConfigurer.java
+++ b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointConfigurer.java
@@ -27,7 +27,6 @@ public class InfinispanRemoteEndpointConfigurer extends PropertyConfigurerSuppor
         case "cacheContainer": target.getConfiguration().setCacheContainer(property(camelContext, org.infinispan.client.hotrod.RemoteCacheManager.class, value)); return true;
         case "cachecontainerconfiguration":
         case "cacheContainerConfiguration": target.getConfiguration().setCacheContainerConfiguration(property(camelContext, org.infinispan.client.hotrod.configuration.Configuration.class, value)); return true;
-        case "command": target.getConfiguration().setCommand(property(camelContext, java.lang.String.class, value)); return true;
         case "configurationproperties":
         case "configurationProperties": target.getConfiguration().setConfigurationProperties(property(camelContext, java.util.Map.class, value)); return true;
         case "configurationuri":
@@ -84,7 +83,6 @@ public class InfinispanRemoteEndpointConfigurer extends PropertyConfigurerSuppor
         case "cacheContainer": return org.infinispan.client.hotrod.RemoteCacheManager.class;
         case "cachecontainerconfiguration":
         case "cacheContainerConfiguration": return org.infinispan.client.hotrod.configuration.Configuration.class;
-        case "command": return java.lang.String.class;
         case "configurationproperties":
         case "configurationProperties": return java.util.Map.class;
         case "configurationuri":
@@ -137,7 +135,6 @@ public class InfinispanRemoteEndpointConfigurer extends PropertyConfigurerSuppor
         case "cacheContainer": return target.getConfiguration().getCacheContainer();
         case "cachecontainerconfiguration":
         case "cacheContainerConfiguration": return target.getConfiguration().getCacheContainerConfiguration();
-        case "command": return target.getConfiguration().getCommand();
         case "configurationproperties":
         case "configurationProperties": return target.getConfiguration().getConfigurationProperties();
         case "configurationuri":
diff --git a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointUriFactory.java b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointUriFactory.java
similarity index 97%
rename from components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointUriFactory.java
rename to components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointUriFactory.java
index 05fff13..42abdc9 100644
--- a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointUriFactory.java
+++ b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointUriFactory.java
@@ -20,7 +20,7 @@ public class InfinispanRemoteEndpointUriFactory extends org.apache.camel.support
     private static final Set<String> PROPERTY_NAMES;
     private static final Set<String> SECRET_PROPERTY_NAMES;
     static {
-        Set<String> props = new HashSet<>(28);
+        Set<String> props = new HashSet<>(27);
         props.add("defaultValue");
         props.add("flags");
         props.add("secure");
@@ -41,7 +41,6 @@ public class InfinispanRemoteEndpointUriFactory extends org.apache.camel.support
         props.add("saslMechanism");
         props.add("eventTypes");
         props.add("cacheContainer");
-        props.add("command");
         props.add("lazyStartProducer");
         props.add("remappingFunction");
         props.add("cacheContainerConfiguration");
diff --git a/components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/component.properties b/components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/component.properties
similarity index 53%
rename from components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/component.properties
rename to components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/component.properties
index 93f4fdf..c9b3b40 100644
--- a/components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/component.properties
+++ b/components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/component.properties
@@ -1,7 +1,7 @@
 # Generated by camel build tools - do NOT edit this file!
-components=infinispan infinispan-embedded
+components=infinispan
 groupId=org.apache.camel
 artifactId=camel-infinispan
 version=3.8.0-SNAPSHOT
-projectName=Camel :: Infinispan
-projectDescription=Camel Infinispan support
+projectName=Camel :: Infinispan :: Remote
+projectDescription=Camel Infinispan Remote support
diff --git a/components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/component/infinispan b/components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/component/infinispan
similarity index 100%
rename from components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/component/infinispan
rename to components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/component/infinispan
diff --git a/components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-component b/components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-component
similarity index 100%
rename from components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-component
rename to components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-component
diff --git a/components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-endpoint b/components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-endpoint
similarity index 100%
rename from components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-endpoint
rename to components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/configurer/infinispan-endpoint
diff --git a/components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/urifactory/infinispan-endpoint b/components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/urifactory/infinispan-endpoint
similarity index 100%
rename from components/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/urifactory/infinispan-endpoint
rename to components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/services/org/apache/camel/urifactory/infinispan-endpoint
diff --git a/components/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/remote/infinispan.json b/components/camel-infinispan/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/remote/infinispan.json
similarity index 96%
rename from components/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/remote/infinispan.json
rename to components/camel-infinispan/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/remote/infinispan.json
index 6950d79..3a299ce 100644
--- a/components/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/remote/infinispan.json
+++ b/components/camel-infinispan/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/remote/infinispan.json
@@ -27,14 +27,13 @@
     "queryBuilder": { "kind": "property", "displayName": "Query Builder", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanQueryBuilder", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Specifies the query builder." },
     "secure": { "kind": "property", "displayName": "Secure", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Define if we are connecting to a secured Infinispan instance" },
     "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 [...]
-    "command": { "kind": "property", "displayName": "Command", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "autowired": false, "secret": false, "defaultValue": "PUT", "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "The operation to perform." },
     "customListener": { "kind": "property", "displayName": "Custom Listener", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.remote.InfinispanRemoteCustomListener", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Returns the custom listener in  [...]
     "eventTypes": { "kind": "property", "displayName": "Event Types", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Specifies the set of event types to register by the consumer.Multiple event can be separated by co [...]
     "defaultValue": { "kind": "property", "displayName": "Default Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Set a specific default value for some producer operations" },
     "key": { "kind": "property", "displayName": "Key", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Set a specific key for producer operations" },
     "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 [...]
     "oldValue": { "kind": "property", "displayName": "Old Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Set a specific old value for some producer operations" },
-    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ], [...]
+    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ], [...]
     "value": { "kind": "property", "displayName": "Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Set a specific value for producer operations" },
     "password": { "kind": "property", "displayName": "Password", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Define the password to access the infinispan instance" },
     "saslMechanism": { "kind": "property", "displayName": "Sasl Mechanism", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Define the SASL Mechanism to access the infinispan instance" },
@@ -47,7 +46,7 @@
     "configurationProperties": { "kind": "property", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for  [...]
     "configurationUri": { "kind": "property", "displayName": "Configuration Uri", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "An implementation specific URI for the CacheManager" },
     "flags": { "kind": "property", "displayName": "Flags", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote ca [...]
-    "remappingFunction": { "kind": "property", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation" },
+    "remappingFunction": { "kind": "property", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation." },
     "resultHeader": { "kind": "property", "displayName": "Result Header", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Store the operation result in a header instead of the message body. By default, resultHeader = [...]
   },
   "properties": {
@@ -56,7 +55,6 @@
     "queryBuilder": { "kind": "parameter", "displayName": "Query Builder", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanQueryBuilder", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Specifies the query builder." },
     "secure": { "kind": "parameter", "displayName": "Secure", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Define if we are connecting to a secured Infinispan instance" },
     "bridgeErrorHandler": { "kind": "parameter", "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 m [...]
-    "command": { "kind": "parameter", "displayName": "Command", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "autowired": false, "secret": false, "defaultValue": "PUT", "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "The operation to perform." },
     "customListener": { "kind": "parameter", "displayName": "Custom Listener", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.remote.InfinispanRemoteCustomListener", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Returns the custom listener in [...]
     "eventTypes": { "kind": "parameter", "displayName": "Event Types", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Specifies the set of event types to register by the consumer.Multiple event can be separated by c [...]
     "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 [...]
@@ -65,7 +63,7 @@
     "key": { "kind": "parameter", "displayName": "Key", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Set a specific key for producer operations" },
     "lazyStartProducer": { "kind": "parameter", "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 sta [...]
     "oldValue": { "kind": "parameter", "displayName": "Old Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Set a specific old value for some producer operations" },
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ] [...]
+    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ] [...]
     "value": { "kind": "parameter", "displayName": "Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Set a specific value for producer operations" },
     "password": { "kind": "parameter", "displayName": "Password", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Define the password to access the infinispan instance" },
     "saslMechanism": { "kind": "parameter", "displayName": "Sasl Mechanism", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Define the SASL Mechanism to access the infinispan instance" },
@@ -77,7 +75,7 @@
     "configurationProperties": { "kind": "parameter", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for [...]
     "configurationUri": { "kind": "parameter", "displayName": "Configuration Uri", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "An implementation specific URI for the CacheManager" },
     "flags": { "kind": "parameter", "displayName": "Flags", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote c [...]
-    "remappingFunction": { "kind": "parameter", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation" },
+    "remappingFunction": { "kind": "parameter", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation." },
     "resultHeader": { "kind": "parameter", "displayName": "Result Header", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Store the operation result in a header instead of the message body. By default, resultHeader  [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/infinispan-component.adoc b/components/camel-infinispan/camel-infinispan/src/main/docs/infinispan-component.adoc
similarity index 89%
rename from catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/infinispan-component.adoc
rename to components/camel-infinispan/camel-infinispan/src/main/docs/infinispan-component.adoc
index 440016f..0ba396c 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/infinispan-component.adoc
+++ b/components/camel-infinispan/camel-infinispan/src/main/docs/infinispan-component.adoc
@@ -42,23 +42,20 @@ The producer allows sending messages to a remote cache using the HotRod protocol
 The consumer allows listening for events from a remote cache using the HotRod protocol.
 
 // component options: START
-The Infinispan component supports 29 options, which are listed below.
+The Infinispan component supports 26 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *configuration* (common) | Component configuration |  | InfinispanConfiguration
+| *configuration* (common) | Component configuration |  | InfinispanRemoteConfiguration
 | *hosts* (common) | Specifies the host of the cache on Infinispan instance |  | String
 | *queryBuilder* (common) | Specifies the query builder. |  | InfinispanQueryBuilder
 | *secure* (common) | Define if we are connecting to a secured Infinispan instance | false | boolean
 | *bridgeErrorHandler* (consumer) | 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 message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *clusteredListener* (consumer) | If true, the listener will be installed for the entire cluster | false | boolean
-| *command* (consumer) | *Deprecated* The operation to perform. | PUT | String
-| *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanCustomListener
-| *eventTypes* (consumer) | Specifies the set of event types to register by the consumer. Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED |  | String
-| *sync* (consumer) | If true, the consumer will receive notifications synchronously | true | boolean
+| *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanRemoteCustomListener
+| *eventTypes* (consumer) | Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CLIENT_CACHE_ENTRY_CREATED, CLIENT_CACHE_ENTRY_MODIFIED, CLIENT_CACHE_ENTRY_REMOVED, CLIENT_CACHE_ENTRY_EXPIRED, CLIENT_CACHE_FAILOVER |  | String
 | *defaultValue* (producer) | Set a specific default value for some producer operations |  | Object
 | *key* (producer) | Set a specific key for producer operations |  | Object
 | *lazyStartProducer* (producer) | 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 starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
@@ -71,13 +68,13 @@ The Infinispan component supports 29 options, which are listed below.
 | *securityServerName* ( security) | Define the security server name to access the infinispan instance |  | String
 | *username* ( security) | Define the username to access the infinispan instance |  | String
 | *autowiredEnabled* (advanced) | 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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *cacheContainer* (advanced) | *Autowired* Specifies the cache Container to connect |  | BasicCacheContainer
-| *cacheContainerConfiguration* (advanced) | The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Object
+| *cacheContainer* (advanced) | *Autowired* Specifies the cache Container to connect |  | RemoteCacheManager
+| *cacheContainerConfiguration* (advanced) | *Autowired* The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Configuration
 | *configurationProperties* (advanced) | Implementation specific properties for the CacheManager |  | Map
 | *configurationUri* (advanced) | An implementation specific URI for the CacheManager |  | String
 | *flags* (advanced) | A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches. |  | String
-| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation |  | BiFunction
-| *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | Object
+| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation. |  | BiFunction
+| *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | String
 |===
 // component options: END
 
@@ -103,7 +100,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (29 parameters):
+=== Query Parameters (26 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -113,11 +110,8 @@ with the following path and query parameters:
 | *queryBuilder* (common) | Specifies the query builder. |  | InfinispanQueryBuilder
 | *secure* (common) | Define if we are connecting to a secured Infinispan instance | false | boolean
 | *bridgeErrorHandler* (consumer) | 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 message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *clusteredListener* (consumer) | If true, the listener will be installed for the entire cluster | false | boolean
-| *command* (consumer) | *Deprecated* The operation to perform. | PUT | String
-| *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanCustomListener
-| *eventTypes* (consumer) | Specifies the set of event types to register by the consumer. Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED |  | String
-| *sync* (consumer) | If true, the consumer will receive notifications synchronously | true | boolean
+| *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanRemoteCustomListener
+| *eventTypes* (consumer) | Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CLIENT_CACHE_ENTRY_CREATED, CLIENT_CACHE_ENTRY_MODIFIED, CLIENT_CACHE_ENTRY_REMOVED, CLIENT_CACHE_ENTRY_EXPIRED, CLIENT_CACHE_FAILOVER |  | String
 | *exceptionHandler* (consumer) | 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 consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
 | *defaultValue* (producer) | Set a specific default value for some producer operations |  | Object
@@ -131,13 +125,13 @@ with the following path and query parameters:
 | *securityRealm* ( security) | Define the security realm to access the infinispan instance |  | String
 | *securityServerName* ( security) | Define the security server name to access the infinispan instance |  | String
 | *username* ( security) | Define the username to access the infinispan instance |  | String
-| *cacheContainer* (advanced) | *Autowired* Specifies the cache Container to connect |  | BasicCacheContainer
-| *cacheContainerConfiguration* (advanced) | The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Object
+| *cacheContainer* (advanced) | *Autowired* Specifies the cache Container to connect |  | RemoteCacheManager
+| *cacheContainerConfiguration* (advanced) | *Autowired* The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Configuration
 | *configurationProperties* (advanced) | Implementation specific properties for the CacheManager |  | Map
 | *configurationUri* (advanced) | An implementation specific URI for the CacheManager |  | String
 | *flags* (advanced) | A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches. |  | String
-| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation |  | BiFunction
-| *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | Object
+| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation. |  | BiFunction
+| *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | String
 |===
 // endpoint options: END
 
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteAggregationRepository.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteAggregationRepository.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteAggregationRepository.java
rename to components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteAggregationRepository.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponent.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponent.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponent.java
rename to components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponent.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConfiguration.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConfiguration.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConfiguration.java
rename to components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConfiguration.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java
rename to components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteCustomListener.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteCustomListener.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteCustomListener.java
rename to components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteCustomListener.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpoint.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpoint.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpoint.java
rename to components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpoint.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEventListener.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEventListener.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEventListener.java
rename to components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEventListener.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteIdempotentRepository.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteIdempotentRepository.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteIdempotentRepository.java
rename to components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteIdempotentRepository.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java
rename to components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducer.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducer.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducer.java
rename to components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducer.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteRoutePolicy.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteRoutePolicy.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteRoutePolicy.java
rename to components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteRoutePolicy.java
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteUtil.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteUtil.java
similarity index 100%
rename from components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteUtil.java
rename to components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteUtil.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteAggregationRepositoryOperationsTest.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteAggregationRepositoryOperationsTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteAggregationRepositoryOperationsTest.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteAggregationRepositoryOperationsTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteAggregationRepositoryTest.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteAggregationRepositoryTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteAggregationRepositoryTest.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteAggregationRepositoryTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConfigurationTest.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConfigurationTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConfigurationTest.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConfigurationTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumerTest.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumerTest.java
similarity index 92%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumerTest.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumerTest.java
index a949918..8e12f47 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumerTest.java
+++ b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumerTest.java
@@ -31,8 +31,8 @@ public class InfinispanRemoteConsumerTest extends InfinispanRemoteTestSupport im
         mock.expectedMessageCount(1);
         mock.expectedHeaderReceived(InfinispanConstants.EVENT_TYPE, "CLIENT_CACHE_ENTRY_CREATED");
 
-        getCache().put(KEY_ONE, VALUE_ONE);
-        getCache().put(KEY_ONE, VALUE_TWO);
+        getCache().put(InfinispanConsumerTestSupport.KEY_ONE, InfinispanConsumerTestSupport.VALUE_ONE);
+        getCache().put(InfinispanConsumerTestSupport.KEY_ONE, InfinispanConsumerTestSupport.VALUE_TWO);
 
         mock.assertIsSatisfied();
     }
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteCustomListenerTest.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteCustomListenerTest.java
similarity index 94%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteCustomListenerTest.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteCustomListenerTest.java
index fe79d56..169c0b0 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteCustomListenerTest.java
+++ b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteCustomListenerTest.java
@@ -35,8 +35,8 @@ public class InfinispanRemoteCustomListenerTest extends InfinispanRemoteTestSupp
         mock.expectedMessageCount(1);
         mock.expectedHeaderReceived(InfinispanConstants.EVENT_TYPE, "CLIENT_CACHE_ENTRY_CREATED");
 
-        getCache().put(KEY_ONE, VALUE_ONE);
-        getCache().put(KEY_ONE, VALUE_TWO);
+        getCache().put(InfinispanConsumerTestSupport.KEY_ONE, InfinispanConsumerTestSupport.VALUE_ONE);
+        getCache().put(InfinispanConsumerTestSupport.KEY_ONE, InfinispanConsumerTestSupport.VALUE_TWO);
 
         mock.assertIsSatisfied();
     }
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteIdempotentRepositoryTest.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteIdempotentRepositoryTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteIdempotentRepositoryTest.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteIdempotentRepositoryTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerTest.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerTest.java
similarity index 84%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerTest.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerTest.java
index a7d47c3..e0ac1eb 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerTest.java
+++ b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerTest.java
@@ -41,21 +41,21 @@ public class InfinispanRemoteProducerTest extends InfinispanRemoteTestSupport im
     public void statsOperation() {
         fluentTemplate()
                 .to("direct:start")
-                .withHeader(InfinispanConstants.KEY, KEY_ONE)
-                .withHeader(InfinispanConstants.VALUE, VALUE_ONE)
+                .withHeader(InfinispanConstants.KEY, InfinispanProducerTestSupport.KEY_ONE)
+                .withHeader(InfinispanConstants.VALUE, InfinispanProducerTestSupport.VALUE_ONE)
                 .withHeader(InfinispanConstants.OPERATION, InfinispanOperation.PUT)
                 .send();
 
-        assertEquals(VALUE_ONE, getCache().get(KEY_ONE));
+        assertEquals(InfinispanProducerTestSupport.VALUE_ONE, getCache().get(InfinispanProducerTestSupport.KEY_ONE));
 
         fluentTemplate()
                 .to("direct:start")
-                .withHeader(InfinispanConstants.KEY, KEY_TWO)
-                .withHeader(InfinispanConstants.VALUE, VALUE_TWO)
+                .withHeader(InfinispanConstants.KEY, InfinispanProducerTestSupport.KEY_TWO)
+                .withHeader(InfinispanConstants.VALUE, InfinispanProducerTestSupport.VALUE_TWO)
                 .withHeader(InfinispanConstants.OPERATION, InfinispanOperation.PUT)
                 .send();
 
-        assertEquals(VALUE_TWO, getCache().get(KEY_TWO));
+        assertEquals(InfinispanProducerTestSupport.VALUE_TWO, getCache().get(InfinispanProducerTestSupport.KEY_TWO));
 
         assertEquals(
                 2,
@@ -93,10 +93,6 @@ public class InfinispanRemoteProducerTest extends InfinispanRemoteTestSupport im
             public void configure() {
                 from("direct:start")
                         .toF("infinispan:%s", getCacheName());
-                from("direct:put-deprecated-option")
-                        .toF("infinispan:%s?command=PUT", getCacheName());
-                from("direct:put-deprecated-command")
-                        .toF("infinispan:%s?command=CamelInfinispanOperationPut", getCacheName());
                 from("direct:compute")
                         .toF("infinispan:%s?remappingFunction=#mappingFunction", getCacheName());
                 from("direct:explicitput")
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryConsumerTest.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryConsumerTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryConsumerTest.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryConsumerTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryProducerTest.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryProducerTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryProducerTest.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryProducerTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryTestSupport.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryTestSupport.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryTestSupport.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryTestSupport.java
diff --git a/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteRoutePolicyTest.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteRoutePolicyTest.java
new file mode 100644
index 0000000..f09887d
--- /dev/null
+++ b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteRoutePolicyTest.java
@@ -0,0 +1,124 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.infinispan.remote;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.infinispan.InfinispanRoutePolicy;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.infra.infinispan.services.InfinispanService;
+import org.apache.camel.test.infra.infinispan.services.InfinispanServiceFactory;
+import org.infinispan.client.hotrod.RemoteCacheManager;
+import org.infinispan.client.hotrod.configuration.ConfigurationBuilder;
+import org.infinispan.configuration.cache.CacheMode;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
+
+import static org.awaitility.Awaitility.await;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+public class InfinispanRemoteRoutePolicyTest {
+    public static final String CACHE_NAME = "_route_policy";
+
+    @RegisterExtension
+    public static InfinispanService service = InfinispanServiceFactory.createService();
+
+    @Test
+    public void testLeadership() throws Exception {
+        try (RemoteCacheManager cacheContainer = createCacheContainer(service)) {
+
+            cacheContainer.start();
+
+            final InfinispanRoutePolicy policy1 = createRoutePolicy(cacheContainer, "route1");
+            final InfinispanRoutePolicy policy2 = createRoutePolicy(cacheContainer, "route2");
+
+            try (CamelContext context = new DefaultCamelContext()) {
+                context.start();
+
+                RouteBuilder.addRoutes(context, b -> b.from("direct:r1").routePolicy(policy1).to("mock:p1"));
+
+                await().atMost(10, TimeUnit.SECONDS).until(policy1::isLeader);
+
+                RouteBuilder.addRoutes(context, b -> b.from("direct:r2").routePolicy(policy2).to("mock:p2"));
+
+                assertTrue(policy1.isLeader());
+                assertFalse(policy2.isLeader());
+
+                policy1.shutdown();
+
+                await().atMost(10, TimeUnit.SECONDS).until(policy2::isLeader);
+
+                assertFalse(policy1.isLeader());
+                assertTrue(policy2.isLeader());
+            }
+        }
+    }
+
+    // *****************************
+    //
+    // *****************************
+
+    private static RemoteCacheManager createCacheContainer(InfinispanService service) {
+        ConfigurationBuilder clientBuilder = new ConfigurationBuilder();
+
+        // for default tests, we force return value for all the
+        // operations
+        clientBuilder
+                .forceReturnValues(true);
+
+        // add server from the test infra service
+        clientBuilder
+                .addServer()
+                .host(service.host())
+                .port(service.port());
+
+        // add security info
+        clientBuilder
+                .security()
+                .authentication()
+                .username(service.username())
+                .password(service.password())
+                .serverName("infinispan")
+                .saslMechanism("DIGEST-MD5")
+                .realm("default");
+
+        RemoteCacheManager cacheContainer = new RemoteCacheManager(clientBuilder.build());
+        cacheContainer.administration()
+                .getOrCreateCache(
+                        CACHE_NAME,
+                        new org.infinispan.configuration.cache.ConfigurationBuilder()
+                                .clustering()
+                                .cacheMode(CacheMode.DIST_SYNC).build());
+
+        return cacheContainer;
+    }
+
+    private static InfinispanRoutePolicy createRoutePolicy(RemoteCacheManager cacheContainer, String lockValue) {
+        InfinispanRemoteConfiguration configuration = new InfinispanRemoteConfiguration();
+        configuration.setCacheContainer(cacheContainer);
+
+        InfinispanRemoteRoutePolicy policy = new InfinispanRemoteRoutePolicy(configuration);
+        policy.setLockMapName(CACHE_NAME);
+        policy.setLockKey("lock-key");
+        policy.setLockValue(lockValue);
+
+        return policy;
+    }
+}
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteTestSupport.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteTestSupport.java
similarity index 98%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteTestSupport.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteTestSupport.java
index 33b9216..75fc85b 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteTestSupport.java
+++ b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteTestSupport.java
@@ -44,7 +44,7 @@ public class InfinispanRemoteTestSupport extends InfinispanTestSupport {
         cacheContainer = new RemoteCacheManager(getConfiguration().build());
         cacheContainer.administration()
                 .getOrCreateCache(
-                        TEST_CACHE,
+                        InfinispanTestSupport.TEST_CACHE,
                         new org.infinispan.configuration.cache.ConfigurationBuilder()
                                 .clustering()
                                 .cacheMode(CacheMode.DIST_SYNC).build());
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/spring/SpringInfinispanRemoteIdempotentRepositoryCamelTest.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/spring/SpringInfinispanRemoteIdempotentRepositoryCamelTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/spring/SpringInfinispanRemoteIdempotentRepositoryCamelTest.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/spring/SpringInfinispanRemoteIdempotentRepositoryCamelTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/spring/SpringInfinispanRemoteIdempotentRepositorySpringTest.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/spring/SpringInfinispanRemoteIdempotentRepositorySpringTest.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/spring/SpringInfinispanRemoteIdempotentRepositorySpringTest.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/spring/SpringInfinispanRemoteIdempotentRepositorySpringTest.java
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/spring/SpringInfinispanRemoteIdempotentRepositoryTestSupport.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/spring/SpringInfinispanRemoteIdempotentRepositoryTestSupport.java
similarity index 100%
rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/spring/SpringInfinispanRemoteIdempotentRepositoryTestSupport.java
rename to components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/spring/SpringInfinispanRemoteIdempotentRepositoryTestSupport.java
diff --git a/components/camel-infinispan/src/test/resources/infinispan/client.properties b/components/camel-infinispan/camel-infinispan/src/test/resources/infinispan/client.properties
similarity index 100%
rename from components/camel-infinispan/src/test/resources/infinispan/client.properties
rename to components/camel-infinispan/camel-infinispan/src/test/resources/infinispan/client.properties
diff --git a/components/camel-infinispan/src/test/resources/log4j2.properties b/components/camel-infinispan/camel-infinispan/src/test/resources/log4j2.properties
similarity index 95%
rename from components/camel-infinispan/src/test/resources/log4j2.properties
rename to components/camel-infinispan/camel-infinispan/src/test/resources/log4j2.properties
index 1301f96..3847970 100644
--- a/components/camel-infinispan/src/test/resources/log4j2.properties
+++ b/components/camel-infinispan/camel-infinispan/src/test/resources/log4j2.properties
@@ -36,9 +36,9 @@ logger.infinispan-camel-remote.name = org.apache.camel.component.infinispan.remo
 logger.infinispan-camel-remote.level = INFO
 logger.infinispan-camel-embedded.name = org.apache.camel.component.infinispan.embedded
 logger.infinispan-test-infra-container.name = container.infinispan
-logger.infinispan-test-infra-container.level = INFO
+logger.infinispan-test-infra-container.level = WARN
 logger.infinispan-camel-test.name = org.apache.camel.test.junit5
-logger.infinispan-camel-test.level = WARN
+logger.infinispan-camel-test.level = INFO
 
 logger.infinispan.name = org.infinispan
 logger.infinispan.level = INFO
diff --git a/components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanRemoteIdempotentRepositoryCamelTest.xml b/components/camel-infinispan/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanRemoteIdempotentRepositoryCamelTest.xml
similarity index 100%
rename from components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanRemoteIdempotentRepositoryCamelTest.xml
rename to components/camel-infinispan/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanRemoteIdempotentRepositoryCamelTest.xml
diff --git a/components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanRemoteIdempotentRepositorySpringTest.xml b/components/camel-infinispan/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanRemoteIdempotentRepositorySpringTest.xml
similarity index 100%
rename from components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanRemoteIdempotentRepositorySpringTest.xml
rename to components/camel-infinispan/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/spring/SpringInfinispanRemoteIdempotentRepositorySpringTest.xml
diff --git a/components/camel-infinispan/pom.xml b/components/camel-infinispan/pom.xml
index 564d9fa..c7bafca 100644
--- a/components/camel-infinispan/pom.xml
+++ b/components/camel-infinispan/pom.xml
@@ -27,223 +27,19 @@
         <version>3.8.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>camel-infinispan</artifactId>
-    <packaging>jar</packaging>
-    <name>Camel :: Infinispan</name>
-    <description>Camel Infinispan support</description>
+    <artifactId>camel-infinispan-parent</artifactId>
+    <packaging>pom</packaging>
+    <name>Camel :: Infinispan :: Parent</name>
+    <description>Camel Infinispan parent</description>
 
     <properties>
-      <protostream-version>4.3.0.Final</protostream-version>
+        <protostream-version>4.3.0.Final</protostream-version>
     </properties>
 
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-core</artifactId>
-            <version>${infinispan-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-query-dsl</artifactId>
-            <version>${infinispan-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-client-hotrod</artifactId>
-            <version>${infinispan-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-component-annotations</artifactId>
-            <version>${infinispan-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-query</artifactId>
-            <version>${infinispan-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-remote-query-client</artifactId>
-            <version>${infinispan-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-marshaller-protostuff</artifactId>
-            <version>${infinispan-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-jboss-marshalling</artifactId>
-            <version>${infinispan-version}</version>
-        </dependency>
+    <modules>
+        <module>camel-infinispan-common</module>
+        <module>camel-infinispan-embedded</module>
+        <module>camel-infinispan</module>
+    </modules>
 
-        <!-- testing -->
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-spring-junit5</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-core</artifactId>
-            <version>${infinispan-version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-commons-test</artifactId>
-            <version>${infinispan-version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-spring5-remote</artifactId>
-            <version>${infinispan-version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-spring5-embedded</artifactId>
-            <version>${infinispan-version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan.protostream</groupId>
-            <artifactId>sample-domain-definition</artifactId>
-            <version>${protostream-version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan.protostream</groupId>
-            <artifactId>sample-domain-implementation</artifactId>
-            <version>${protostream-version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-slf4j-impl</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-junit5</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-log</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <!-- test infra -->
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-infra-common</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-infra-infinispan</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <profiles>
-        <profile>
-            <id>infinispan-skip-tests</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <configuration>
-                            <skipTests>true</skipTests>
-                            <systemProperties>
-                                <property>
-                                    <name>infinispan.test.jgroups.protocol</name>
-                                    <value>tcp</value>
-                                </property>
-                            </systemProperties>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-
-        <!-- activate test if the docker socket file is accessible -->
-        <profile>
-            <id>infinispan-tests-docker-file</id>
-            <activation>
-                <file>
-                    <exists>/var/run/docker.sock</exists>
-                </file>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <configuration>
-                            <skipTests>${skipTests}</skipTests>
-                            <systemPropertyVariables>
-                                <visibleassertions.silence>true</visibleassertions.silence>
-                            </systemPropertyVariables>
-                            <systemProperties>
-                                <property>
-                                    <name>infinispan.test.jgroups.protocol</name>
-                                    <value>tcp</value>
-                                </property>
-                            </systemProperties>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-
-        <!-- activate test if the DOCKER_HOST env var is set -->
-        <profile>
-            <id>infinispan-tests-docker-env</id>
-            <activation>
-                <property>
-                    <name>env.DOCKER_HOST</name>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <configuration>
-                            <skipTests>${skipTests}</skipTests>
-                            <systemPropertyVariables>
-                                <visibleassertions.silence>true</visibleassertions.silence>
-                            </systemPropertyVariables>
-                            <systemProperties>
-                                <property>
-                                    <name>infinispan.test.jgroups.protocol</name>
-                                    <value>tcp</value>
-                                </property>
-                            </systemProperties>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
 </project>
diff --git a/components/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/infinispan.json b/components/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/infinispan.json
deleted file mode 100644
index 5b48148..0000000
--- a/components/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/infinispan.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "infinispan",
-    "title": "Infinispan",
-    "description": "Read and write from\/to Infinispan distributed key\/value store and data grid.",
-    "deprecated": false,
-    "firstVersion": "2.13.0",
-    "label": "cache,datagrid,clustering",
-    "javaType": "org.apache.camel.component.infinispan.InfinispanComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-infinispan",
-    "version": "3.8.0-SNAPSHOT",
-    "scheme": "infinispan",
-    "extendsScheme": "",
-    "syntax": "infinispan:cacheName",
-    "async": false,
-    "api": false,
-    "consumerOnly": false,
-    "producerOnly": false,
-    "lenientProperties": false
-  },
-  "componentProperties": {
-    "configuration": { "kind": "property", "displayName": "Configuration", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "Component configuration" },
-    "hosts": { "kind": "property", "displayName": "Hosts", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the host of the cache on Infinispan instance" },
-    "queryBuilder": { "kind": "property", "displayName": "Query Builder", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanQueryBuilder", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the query builder." },
-    "secure": { "kind": "property", "displayName": "Secure", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define if we are connecting to a secured Infinispan instance" },
-    "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 [...]
-    "clusteredListener": { "kind": "property", "displayName": "Clustered Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "If true, the listener will be installed for the entire cluster" },
-    "command": { "kind": "property", "displayName": "Command", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "autowired": false, "secret": false, "defaultValue": "PUT", "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "The operation to perform." },
-    "customListener": { "kind": "property", "displayName": "Custom Listener", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanCustomListener", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Returns the custom listener in use, if provided" },
-    "eventTypes": { "kind": "property", "displayName": "Event Types", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the set of event types to register by the consumer. Multiple event can be separated by comma. The pos [...]
-    "sync": { "kind": "property", "displayName": "Sync", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "If true, the consumer will receive notifications synchronously" },
-    "defaultValue": { "kind": "property", "displayName": "Default Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific default value for some producer operations" },
-    "key": { "kind": "property", "displayName": "Key", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific key for producer operations" },
-    "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 [...]
-    "oldValue": { "kind": "property", "displayName": "Old Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific old value for some producer operations" },
-    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ], [...]
-    "value": { "kind": "property", "displayName": "Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific value for producer operations" },
-    "password": { "kind": "property", "displayName": "Password", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the password to access the infinispan instance" },
-    "saslMechanism": { "kind": "property", "displayName": "Sasl Mechanism", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the SASL Mechanism to access the infinispan instance" },
-    "securityRealm": { "kind": "property", "displayName": "Security Realm", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the security realm to access the infinispan instance" },
-    "securityServerName": { "kind": "property", "displayName": "Security Server Name", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the security server name to access the infinispan instance" },
-    "username": { "kind": "property", "displayName": "Username", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the username to access the infinispan instance" },
-    "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 [...]
-    "cacheContainer": { "kind": "property", "displayName": "Cache Container", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.commons.api.BasicCacheContainer", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the cache Container to connect" },
-    "cacheContainerConfiguration": { "kind": "property", "displayName": "Cache Container Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "The CacheContainer configuration. Uses if the cacheContainer is not defined. [...]
-    "configurationProperties": { "kind": "property", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for the CacheManager" },
-    "configurationUri": { "kind": "property", "displayName": "Configuration Uri", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "An implementation specific URI for the CacheManager" },
-    "flags": { "kind": "property", "displayName": "Flags", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches." },
-    "remappingFunction": { "kind": "property", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation" },
-    "resultHeader": { "kind": "property", "displayName": "Result Header", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Store the operation result in a header instead of the message body. By default, resultHeader == null and th [...]
-  },
-  "properties": {
-    "cacheName": { "kind": "path", "displayName": "Cache Name", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the cache to use. Use current to use the existing cache name from the currently configured cached manager. Or use default for the default cache manager name." },
-    "hosts": { "kind": "parameter", "displayName": "Hosts", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the host of the cache on Infinispan instance" },
-    "queryBuilder": { "kind": "parameter", "displayName": "Query Builder", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanQueryBuilder", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the query builder." },
-    "secure": { "kind": "parameter", "displayName": "Secure", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define if we are connecting to a secured Infinispan instance" },
-    "bridgeErrorHandler": { "kind": "parameter", "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 m [...]
-    "clusteredListener": { "kind": "parameter", "displayName": "Clustered Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "If true, the listener will be installed for the entire cluster" },
-    "command": { "kind": "parameter", "displayName": "Command", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "autowired": false, "secret": false, "defaultValue": "PUT", "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "The operation to perform." },
-    "customListener": { "kind": "parameter", "displayName": "Custom Listener", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanCustomListener", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Returns the custom listener in use, if provided" },
-    "eventTypes": { "kind": "parameter", "displayName": "Event Types", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the set of event types to register by the consumer. Multiple event can be separated by comma. The po [...]
-    "sync": { "kind": "parameter", "displayName": "Sync", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "If true, the consumer will receive notifications synchronously" },
-    "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." },
-    "defaultValue": { "kind": "parameter", "displayName": "Default Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific default value for some producer operations" },
-    "key": { "kind": "parameter", "displayName": "Key", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific key for producer operations" },
-    "lazyStartProducer": { "kind": "parameter", "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 sta [...]
-    "oldValue": { "kind": "parameter", "displayName": "Old Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific old value for some producer operations" },
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ] [...]
-    "value": { "kind": "parameter", "displayName": "Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific value for producer operations" },
-    "password": { "kind": "parameter", "displayName": "Password", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the password to access the infinispan instance" },
-    "saslMechanism": { "kind": "parameter", "displayName": "Sasl Mechanism", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the SASL Mechanism to access the infinispan instance" },
-    "securityRealm": { "kind": "parameter", "displayName": "Security Realm", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the security realm to access the infinispan instance" },
-    "securityServerName": { "kind": "parameter", "displayName": "Security Server Name", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the security server name to access the infinispan instance" },
-    "username": { "kind": "parameter", "displayName": "Username", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the username to access the infinispan instance" },
-    "cacheContainer": { "kind": "parameter", "displayName": "Cache Container", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.commons.api.BasicCacheContainer", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the cache Container to connect" },
-    "cacheContainerConfiguration": { "kind": "parameter", "displayName": "Cache Container Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "The CacheContainer configuration. Uses if the cacheContainer is not defined [...]
-    "configurationProperties": { "kind": "parameter", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for the CacheMan [...]
-    "configurationUri": { "kind": "parameter", "displayName": "Configuration Uri", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "An implementation specific URI for the CacheManager" },
-    "flags": { "kind": "parameter", "displayName": "Flags", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches." },
-    "remappingFunction": { "kind": "parameter", "displayName": "Remapping Function", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.function.BiFunction", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific remappingFunction to use in a compute operation" },
-    "resultHeader": { "kind": "parameter", "displayName": "Result Header", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Store the operation result in a header instead of the message body. By default, resultHeader == null and t [...]
-  }
-}
diff --git a/components/camel-infinispan/src/main/docs/infinispan-component.adoc b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
deleted file mode 100644
index 440016f..0000000
--- a/components/camel-infinispan/src/main/docs/infinispan-component.adoc
+++ /dev/null
@@ -1,501 +0,0 @@
-[[infinispan-component]]
-= Infinispan Component
-:docTitle: Infinispan
-:artifactId: camel-infinispan
-:description: Read and write from/to Infinispan distributed key/value store and data grid.
-:since: 2.13
-:supportLevel: Stable
-:component-header: Both producer and consumer are supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/infinispan.adoc[opts=optional]
-
-*Since Camel {since}*
-
-*{component-header}*
-
-This component allows you to interact with http://infinispan.org/[Infinispan] distributed data grid / cache using the Hot Rod procol.
-Infinispan is an extremely scalable, highly available key/value data store and data grid platform written in Java.
-
-Infinispan requires at least Java 8.
-
-If you use Maven, you must add the following dependency to your `pom.xml`:
-
-[source,xml]
-------------------------------------------------------------
-<dependency>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-infinispan</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-== URI format
-
-[source,java]
--------------------------------
-infinispan://cacheName?[options]
--------------------------------
-
-== URI Options
-
-The producer allows sending messages to a remote cache using the HotRod protocol. 
-The consumer allows listening for events from a remote cache using the HotRod protocol.
-
-// component options: START
-The Infinispan component supports 29 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *configuration* (common) | Component configuration |  | InfinispanConfiguration
-| *hosts* (common) | Specifies the host of the cache on Infinispan instance |  | String
-| *queryBuilder* (common) | Specifies the query builder. |  | InfinispanQueryBuilder
-| *secure* (common) | Define if we are connecting to a secured Infinispan instance | false | boolean
-| *bridgeErrorHandler* (consumer) | 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 message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *clusteredListener* (consumer) | If true, the listener will be installed for the entire cluster | false | boolean
-| *command* (consumer) | *Deprecated* The operation to perform. | PUT | String
-| *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanCustomListener
-| *eventTypes* (consumer) | Specifies the set of event types to register by the consumer. Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED |  | String
-| *sync* (consumer) | If true, the consumer will receive notifications synchronously | true | boolean
-| *defaultValue* (producer) | Set a specific default value for some producer operations |  | Object
-| *key* (producer) | Set a specific key for producer operations |  | Object
-| *lazyStartProducer* (producer) | 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 starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *oldValue* (producer) | Set a specific old value for some producer operations |  | Object
-| *operation* (producer) | The operation to perform. There are 21 enums and the value can be one of: PUT, PUTASYNC, PUTALL, PUTALLASYNC, PUTIFABSENT, PUTIFABSENTASYNC, GET, GETORDEFAULT, CONTAINSKEY, CONTAINSVALUE, REMOVE, REMOVEASYNC, REPLACE, REPLACEASYNC, SIZE, CLEAR, CLEARASYNC, QUERY, STATS, COMPUTE, COMPUTEASYNC | PUT | InfinispanOperation
-| *value* (producer) | Set a specific value for producer operations |  | Object
-| *password* ( security) | Define the password to access the infinispan instance |  | String
-| *saslMechanism* ( security) | Define the SASL Mechanism to access the infinispan instance |  | String
-| *securityRealm* ( security) | Define the security realm to access the infinispan instance |  | String
-| *securityServerName* ( security) | Define the security server name to access the infinispan instance |  | String
-| *username* ( security) | Define the username to access the infinispan instance |  | String
-| *autowiredEnabled* (advanced) | 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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *cacheContainer* (advanced) | *Autowired* Specifies the cache Container to connect |  | BasicCacheContainer
-| *cacheContainerConfiguration* (advanced) | The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Object
-| *configurationProperties* (advanced) | Implementation specific properties for the CacheManager |  | Map
-| *configurationUri* (advanced) | An implementation specific URI for the CacheManager |  | String
-| *flags* (advanced) | A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches. |  | String
-| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation |  | BiFunction
-| *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | Object
-|===
-// component options: END
-
-
-
-
-// endpoint options: START
-The Infinispan endpoint is configured using URI syntax:
-
-----
-infinispan:cacheName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *cacheName* | *Required* The name of the cache to use. Use current to use the existing cache name from the currently configured cached manager. Or use default for the default cache manager name. |  | String
-|===
-
-
-=== Query Parameters (29 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *hosts* (common) | Specifies the host of the cache on Infinispan instance |  | String
-| *queryBuilder* (common) | Specifies the query builder. |  | InfinispanQueryBuilder
-| *secure* (common) | Define if we are connecting to a secured Infinispan instance | false | boolean
-| *bridgeErrorHandler* (consumer) | 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 message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *clusteredListener* (consumer) | If true, the listener will be installed for the entire cluster | false | boolean
-| *command* (consumer) | *Deprecated* The operation to perform. | PUT | String
-| *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanCustomListener
-| *eventTypes* (consumer) | Specifies the set of event types to register by the consumer. Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED |  | String
-| *sync* (consumer) | If true, the consumer will receive notifications synchronously | true | boolean
-| *exceptionHandler* (consumer) | 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 consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *defaultValue* (producer) | Set a specific default value for some producer operations |  | Object
-| *key* (producer) | Set a specific key for producer operations |  | Object
-| *lazyStartProducer* (producer) | 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 starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *oldValue* (producer) | Set a specific old value for some producer operations |  | Object
-| *operation* (producer) | The operation to perform. There are 21 enums and the value can be one of: PUT, PUTASYNC, PUTALL, PUTALLASYNC, PUTIFABSENT, PUTIFABSENTASYNC, GET, GETORDEFAULT, CONTAINSKEY, CONTAINSVALUE, REMOVE, REMOVEASYNC, REPLACE, REPLACEASYNC, SIZE, CLEAR, CLEARASYNC, QUERY, STATS, COMPUTE, COMPUTEASYNC | PUT | InfinispanOperation
-| *value* (producer) | Set a specific value for producer operations |  | Object
-| *password* ( security) | Define the password to access the infinispan instance |  | String
-| *saslMechanism* ( security) | Define the SASL Mechanism to access the infinispan instance |  | String
-| *securityRealm* ( security) | Define the security realm to access the infinispan instance |  | String
-| *securityServerName* ( security) | Define the security server name to access the infinispan instance |  | String
-| *username* ( security) | Define the username to access the infinispan instance |  | String
-| *cacheContainer* (advanced) | *Autowired* Specifies the cache Container to connect |  | BasicCacheContainer
-| *cacheContainerConfiguration* (advanced) | The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Object
-| *configurationProperties* (advanced) | Implementation specific properties for the CacheManager |  | Map
-| *configurationUri* (advanced) | An implementation specific URI for the CacheManager |  | String
-| *flags* (advanced) | A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches. |  | String
-| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation |  | BiFunction
-| *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | Object
-|===
-// endpoint options: END
-
-== Camel Operations
-This section lists all available operations, along with their header information.
-
-.Put Operations
-[cols="40%,60%a", frame="all", options="header"]
-|===
-| Operation Name | Description
-| InfinispanOperation.PUT | Puts a key/value pair in the cache, optionally with expiration
-| InfinispanOperation.PUTASYNC | Asynchronously puts a key/value pair in the cache, optionally with expiration
-| InfinispanOperation.PUTIFABSENT | Puts a key/value pair in the cache if it did not exist, optionally with expiration
-| InfinispanOperation.PUTIFABSENTASYNC | Asynchronously puts a key/value pair in the cache if it did not exist, optionally with expiration
-|===
-
-* *Required Headers*: 
-** CamelInfinispanKey
-** CamelInfinispanValue
-* *Optional Headers*: 
-** CamelInfinispanLifespanTime
-** CamelInfinispanLifespanTimeUnit
-** CamelInfinispanMaxIdleTime
-** CamelInfinispanMaxIdleTimeUnit
-* *Result Header*: 
-** CamelInfinispanOperationResult
-
-.Put All Operations
-[cols="40%,60%a", options="header"]
-|===
-| Operation Name | Description
-| InfinispanOperation.PUTALL | Adds multiple entries to a cache, optionally with expiration
-| CamelInfinispanOperation.PUTALLASYNC | Asynchronously adds multiple entries to a cache, optionally with expiration
-|===
-
-* *Required Headers*: 
-** CamelInfinispanMap
-* *Optional Headers*: 
-** CamelInfinispanLifespanTime
-** CamelInfinispanLifespanTimeUnit
-** CamelInfinispanMaxIdleTime
-** CamelInfinispanMaxIdleTimeUnit
-
-.Get Operations
-[cols="40%,60%a", frame="all", options="header"]
-|===
-|Operation Name |Description
-| InfinispanOperation.GET | Retrieves the value associated with a specific key from the cache
-| InfinispanOperation.GETORDEFAULT | Retrieves the value, or default value, associated with a specific key from the cache
-|===
-
-* *Required Headers*: 
-** CamelInfinispanKey
-
-.Contains Key Operation
-[cols="40%,60%a", options="header"]
-|===
-| Operation Name | Description
-| InfinispanOperation.CONTAINSKEY | Determines whether a cache contains a specific key
-|===
-
-* *Required Headers*
-** CamelInfinispanKey
-* *Result Header*
-** CamelInfinispanOperationResult
-
-.Contains Value Operation
-[cols="40%,60%a", options="header"]
-|===
-| Operation Name | Description
-| InfinispanOperation.CONTAINSVALUE | Determines whether a cache contains a specific value
-|===
-
-* *Required Headers*: 
-** CamelInfinispanKey
-
-
-.Remove Operations
-[cols="40%,60%a", options="header"]
-|===
-| Operation Name | Description
-| InfinispanOperation.REMOVE | Removes an entry from a cache, optionally only if the value matches a given one
-| InfinispanOperation.REMOVEASYNC | Asynchronously removes an entry from a cache, optionally only if the value matches a given one
-|===
-
-* *Required Headers*:
-** CamelInfinispanKey
-* *Optional Headers*: 
-** CamelInfinispanValue
-* *Result Header*: 
-** CamelInfinispanOperationResult
-
-.Replace Operations
-[cols="40%,60%a", options="header"]
-|===
-| Operation Name | Description
-| InfinispanOperation.REPLACE | Conditionally replaces an entry in the cache, optionally with expiration
-| InfinispanOperation.REPLACEASYNC |  Asynchronously conditionally replaces an entry in the cache, optionally with expiration
-|===
-
-* *Required Headers*: 
-** CamelInfinispanKey
-** CamelInfinispanValue
-** CamelInfinispanOldValue
-* *Optional Headers*:
-** CamelInfinispanLifespanTime
-** CamelInfinispanLifespanTimeUnit
-** CamelInfinispanMaxIdleTime
-** CamelInfinispanMaxIdleTimeUnit
-* *Result Header*: 
-** CamelInfinispanOperationResult
-
-.Clear Operations
-[cols="40%,60%a", options="header"]
-|===
-| Operation Name | Description
-| InfinispanOperation.CLEAR | Clears the cache
-| InfinispanOperation.CLEARASYNC | Asynchronously clears the cache
-|===
-
-.Size Operation
-[cols="40%,60%a", options="header"]
-|===
-| Operation Name | Description
-| InfinispanOperation.SIZE | Returns the number of entries in the cache
-|===
-
-* *Result Header*
-** CamelInfinispanOperationResult
-
-.Stats Operation
-[cols="40%,60%a", options="header"]
-|===
-| Operation Name | Description
-| InfinispanOperation.STATS | Returns statistics about the cache
-|===
-
-* *Result Header*:
-** CamelInfinispanOperationResult
-
-.Query Operation
-[cols="40%,60%a", options="header"]
-|===
-| Operation Name | Description
-| InfinispanOperation.QUERY | Executes a query on the cache
-|===
-
-* *Required Headers*:
-** CamelInfinispanQueryBuilder
-* *Result Header*: 
-** CamelInfinispanOperationResult
-
-[NOTE]
-====
-Write methods like put(key, value) and remove(key) do not return the previous value by default.
-====
-
-== Message Headers
-
-[width="100%",cols="10%,10%,10%,10%,60%",options="header",]
-|=======================================================================
-|Name |Default Value |Type |Context |Description
-|CamelInfinispanCacheName |`null` |String |Shared |The cache participating in the operation or event.
-|CamelInfinispanOperation |`PUT` |InfinispanOperation |Producer |The operation to perform.
-|CamelInfinispanMap |`null` |Map |Producer |A Map to use in case of CamelInfinispanOperationPutAll operation
-|CamelInfinispanKey |`null` |Object |Shared |The key to perform the operation to or the key generating the event.
-|CamelInfinispanValue |`null` |Object |Producer |The value to use for the operation.
-|CamelInfinispanEventType |`null` |String |Consumer |The type of the received event. 
-|CamelInfinispanLifespanTime |`null` |long |Producer |The Lifespan time of a value inside the cache. Negative values are interpreted as infinity.
-|CamelInfinispanTimeUnit |`null` |String |Producer |The Time Unit of an entry Lifespan Time.
-|CamelInfinispanMaxIdleTime |`null` |long |Producer |The maximum amount of time an entry is allowed to be idle for before it is considered as expired.
-|CamelInfinispanMaxIdleTimeUnit |`null` |String |Producer |The Time Unit of an entry Max Idle Time.
-|CamelInfinispanQueryBuilder |null |InfinispanQueryBuilder |Producer |The QueryBuilde to use for QUERY command, if not present the command defaults to InifinispanConfiguration's one
-|CamelInfinispanOperationResultHeader |null |String |Producer |Store the operation result in a header instead of the message body
-|=======================================================================
-
-
-== Examples
-
-* Put a key/value into a named cache:
-+
-[source,java]
-----
-from("direct:start")
-    .setHeader(InfinispanConstants.OPERATION).constant(InfinispanOperation.PUT) // <1>
-    .setHeader(InfinispanConstants.KEY).constant("123") // <2>
-    .to("infinispan:myCacheName&cacheContainer=#cacheContainer"); // <3>
-----
-<1> Set the operation to perform
-<2> Set the key used to identify the element in the cache
-<3> Use the configured cache manager `cacheContainer` from the registry to put an element to the cache named `myCacheName`
-+
-It is possible to configure the lifetime and/or the idle time before the entry expires and gets evicted from the cache, as example:
-+
-[source,java,options="nowrap"]
-----
-from("direct:start")
-    .setHeader(InfinispanConstants.OPERATION).constant(InfinispanOperation.GET)
-    .setHeader(InfinispanConstants.KEY).constant("123")
-    .setHeader(InfinispanConstants.LIFESPAN_TIME).constant(100L) // <1>
-    .setHeader(InfinispanConstants.LIFESPAN_TIME_UNIT.constant(TimeUnit.MILLISECONDS.toString()) // <2>
-    .to("infinispan:myCacheName");
-----
-<1> Set the lifespan of the entry
-<2> Set the time unit for the lifespan
-
-* Queries
-+
-[source,java,options="nowrap"]
-----
-from("direct:start")
-    .setHeader(InfinispanConstants.OPERATION, InfinispanConstants.QUERY)
-    .setHeader(InfinispanConstants.QUERY_BUILDER, new InfinispanQueryBuilder() {
-        @Override
-        public Query build(QueryFactory<Query> qf) {
-            return qf.from(User.class).having("name").like("%abc%").build();
-        }
-    })
-    .to("infinispan:myCacheName?cacheContainer=#cacheManager") ;
-----
-+
-
-[NOTE]
-====
-The .proto descriptors for domain objects must be registered with the remote Data Grid server, see https://infinispan.org/docs/stable/titles/developing/developing.html#remote_query_example[Remote Query Example] in the official Infinispan documentation.
-====
-
-* Custom Listeners
-+
-[source,java,options="nowrap"]
-----
-from("infinispan://?cacheContainer=#cacheManager&customListener=#myCustomListener")
-  .to("mock:result");
-----
-+
-The instance of `myCustomListener` must exist and Camel should be able to look it up from the  `Registry`.
-Users are encouraged to extend the `org.apache.camel.component.infinispan.remote.InfinispanRemoteCustomListener` class and annotate the resulting class with `@ClientListener` which can be found found in package `org.infinispan.client.hotrod.annotation`.
-
-
-== Using the Infinispan based idempotent repository
-
-In this section we will use the Infinispan based idempotent repository.
-
-.Java Example
-[source,java]
-----
-InfinispanRemoteConfiguration conf = new InfinispanRemoteConfiguration(); // <1> 
-conf.setHosts("localhost:1122")
-
-InfinispanRemoteIdempotentRepository repo = new InfinispanRemoteIdempotentRepository("idempotent");  // <2> 
-repo.setConfiguration(conf);
-
-context.addRoutes(new RouteBuilder() {
-    @Override
-    public void configure() {
-        from("direct:start")
-            .idempotentConsumer(header("MessageID"), repo) // <3> 
-            .to("mock:result");
-    }
-});
-----
-<1> Configure the cache
-<2> Configure the repository bean
-<3> Set the repository to the route
-
-.XML Example
-[source,xml]
-----
-<bean id="infinispanRepo" class="org.apache.camel.component.infinispan.remote.InfinispanRemoteIdempotentRepository" destroy-method="stop">
-  <constructor-arg value="idempotent"/> <1>
-  <property name="configuration"> <2>
-    <bean class="org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration">
-      <property name="hosts" value="localhost:11222"/>
-    </bean>
-  </property>
-</bean>
-
-<camelContext xmlns="http://camel.apache.org/schema/spring">
-    <route>
-        <from uri="direct:start" />
-        <idempotentConsumer messageIdRepositoryRef="infinispanRepo"> <3>
-            <header>MessageID</header>
-            <to uri="mock:result" />
-        </idempotentConsumer>
-    </route>
-</camelContext>
-----
-<1> Set the name of the cache that will be used by the repository
-<2> Configure the repository bean
-<3> Set the repository to the route
-
-== Using the Infinispan based aggregation repository
-
-In this section we will use the Infinispan based aggregation repository.
-
-.Java Example
-[source,java]
-----
-InfinispanRemoteConfiguration conf = new InfinispanRemoteConfiguration(); // <1> 
-conf.setHosts("localhost:1122")
-
-InfinispanRemoteAggregationRepository repo = new InfinispanRemoteAggregationRepository();  // <2> 
-repo.setCacheName("aggregation");
-repo.setConfiguration(conf);
-
-context.addRoutes(new RouteBuilder() {
-    @Override
-    public void configure() {
-        from("direct:start")
-                .aggregate(header("MessageID"))
-                .completionSize(3)
-                .aggregationRepository(repo) // <3>
-                .aggregationStrategyRef("myStrategy")
-                .to("mock:result");
-    }
-});
-----
-<1> Configure the cache
-<2> Create the repository bean
-<3> Set the repository to the route
-
-.XML Example
-[source,xml]
-----
-<bean id="infinispanRepo" class="org.apache.camel.component.infinispan.remote.InfinispanRemoteAggregationRepository" destroy-method="stop">
-  <constructor-arg value="aggregation"/> <1>
-  <property name="configuration"> <2>
-    <bean class="org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration">
-      <property name="hosts" value="localhost:11222"/>
-    </bean>
-  </property>
-</bean>
-
-<camelContext xmlns="http://camel.apache.org/schema/spring">
-    <route>
-        <from uri="direct:start" />
-        <aggregate strategyRef="myStrategy"   
-                   completionSize="3"
-                   aggregationRepositoryRef="infinispanRepo"> <3>
-            <correlationExpression>
-                <header>MessageID</header>
-            </correlationExpression>
-            <to uri="mock:result"/>
-        </aggregate>
-    </route>
-</camelContext>
-----
-<1> Set the name of the cache that will be used by the repository
-<2> Configure the repository bean
-<3> Set the repository to the route
-
-[NOTE]
-====
-With the release of Infinispan 11, it is required to set the encoding configuration on any cache created. This is critical for consuming events too.
-For more information have a look at https://infinispan.org/docs/stable/titles/developing/developing.html#data_encoding[Data Encoding and MediaTypes] in the official Infinispan documentation.
-====
-
-
-
-
-include::camel-spring-boot::page$infinispan-starter.adoc[]
diff --git a/components/camel-infinispan/src/main/docs/infinispan-embedded-component.adoc b/components/camel-infinispan/src/main/docs/infinispan-embedded-component.adoc
deleted file mode 100644
index 1b78ba5..0000000
--- a/components/camel-infinispan/src/main/docs/infinispan-embedded-component.adoc
+++ /dev/null
@@ -1,845 +0,0 @@
-[[infinispan-embedded-component]]
-= Infinispan Embedded Component
-:docTitle: Infinispan Embedded
-:artifactId: camel-infinispan
-:description: Read and write from/to Infinispan distributed key/value store and data grid.
-:since: 2.13
-:supportLevel: Stable
-:component-header: Both producer and consumer are supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/infinispan-embedded.adoc[opts=optional]
-
-*Since Camel {since}*
-
-*{component-header}*
-
-This component allows you to interact with
-http://infinispan.org/[Infinispan] distributed data grid / cache.
-Infinispan is an extremely scalable, highly available key/value data
-store and data grid platform written in Java.
-
-Infinispan requires at least Java 8.
-
-The `camel-infinispan` component includes the following features:
-
-* *Local Camel Consumer* - Receives cache change notifications and sends them to be processed.
-This can be done synchronously or asynchronously, and is also supported with a replicated or distributed cache.
-
-* *Local Camel Producer* - A producer creates and sends messages to an endpoint.
-The `camel-infinispan` producer uses ``GET``, ``PUT``, ``REMOVE``, and `CLEAR` operations.
-The local producer is also supported with a replicated or distributed cache.
-
-The events are processed asynchronously.
-
-If you use Maven, you must add the following dependency to your `pom.xml`:
-
-[source,xml]
-------------------------------------------------------------
-<dependency>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-infinispan</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-== URI format
-
-[source,java]
--------------------------------
-infinispan-embedded://cacheName?[options]
--------------------------------
-
-== URI Options
-
-The producer allows sending messages to a local infinispan cache
-configured in the registry, or to a remote cache using the HotRod
-protocol. The consumer allows listening for events from local infinispan cache
-accessible from the registry.
-
-If no cache configuration is provided, embedded cacheContainer is created directly in the component.
-
-
-// component options: START
-The Infinispan Embedded component supports 21 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *configuration* (common) | Component configuration |  | InfinispanEmbeddedConfiguration
-| *queryBuilder* (common) | Specifies the query builder. |  | InfinispanQueryBuilder
-| *bridgeErrorHandler* (consumer) | 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 message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *clusteredListener* (consumer) | If true, the listener will be installed for the entire cluster | false | boolean
-| *command* (consumer) | *Deprecated* The operation to perform. | PUT | String
-| *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanEmbeddedCustomListener
-| *eventTypes* (consumer) | Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, CACHE_ENTRY_EXPIRED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED, PERSIS [...]
-| *sync* (consumer) | If true, the consumer will receive notifications synchronously | true | boolean
-| *defaultValue* (producer) | Set a specific default value for some producer operations |  | Object
-| *key* (producer) | Set a specific key for producer operations |  | Object
-| *lazyStartProducer* (producer) | 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 starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *oldValue* (producer) | Set a specific old value for some producer operations |  | Object
-| *operation* (producer) | The operation to perform. There are 21 enums and the value can be one of: PUT, PUTASYNC, PUTALL, PUTALLASYNC, PUTIFABSENT, PUTIFABSENTASYNC, GET, GETORDEFAULT, CONTAINSKEY, CONTAINSVALUE, REMOVE, REMOVEASYNC, REPLACE, REPLACEASYNC, SIZE, CLEAR, CLEARASYNC, QUERY, STATS, COMPUTE, COMPUTEASYNC | PUT | InfinispanOperation
-| *value* (producer) | Set a specific value for producer operations |  | Object
-| *autowiredEnabled* (advanced) | 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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *cacheContainer* (advanced) | *Autowired* Specifies the cache Container to connect |  | EmbeddedCacheManager
-| *cacheContainerConfiguration* (advanced) | *Autowired* The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Configuration
-| *configurationUri* (advanced) | An implementation specific URI for the CacheManager |  | String
-| *flags* (advanced) | A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches. |  | String
-| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation |  | BiFunction
-| *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | String
-|===
-// component options: END
-
-
-
-
-// endpoint options: START
-The Infinispan Embedded endpoint is configured using URI syntax:
-
-----
-infinispan-embedded:cacheName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *cacheName* | *Required* The name of the cache to use. Use current to use the existing cache name from the currently configured cached manager. Or use default for the default cache manager name. |  | String
-|===
-
-
-=== Query Parameters (21 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *queryBuilder* (common) | Specifies the query builder. |  | InfinispanQueryBuilder
-| *bridgeErrorHandler* (consumer) | 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 message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *clusteredListener* (consumer) | If true, the listener will be installed for the entire cluster | false | boolean
-| *command* (consumer) | *Deprecated* The operation to perform. | PUT | String
-| *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanEmbeddedCustomListener
-| *eventTypes* (consumer) | Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, CACHE_ENTRY_EXPIRED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED, PERSIS [...]
-| *sync* (consumer) | If true, the consumer will receive notifications synchronously | true | boolean
-| *exceptionHandler* (consumer) | 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 consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *defaultValue* (producer) | Set a specific default value for some producer operations |  | Object
-| *key* (producer) | Set a specific key for producer operations |  | Object
-| *lazyStartProducer* (producer) | 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 starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *oldValue* (producer) | Set a specific old value for some producer operations |  | Object
-| *operation* (producer) | The operation to perform. There are 21 enums and the value can be one of: PUT, PUTASYNC, PUTALL, PUTALLASYNC, PUTIFABSENT, PUTIFABSENTASYNC, GET, GETORDEFAULT, CONTAINSKEY, CONTAINSVALUE, REMOVE, REMOVEASYNC, REPLACE, REPLACEASYNC, SIZE, CLEAR, CLEARASYNC, QUERY, STATS, COMPUTE, COMPUTEASYNC | PUT | InfinispanOperation
-| *value* (producer) | Set a specific value for producer operations |  | Object
-| *cacheContainer* (advanced) | *Autowired* Specifies the cache Container to connect |  | EmbeddedCacheManager
-| *cacheContainerConfiguration* (advanced) | *Autowired* The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Configuration
-| *configurationUri* (advanced) | An implementation specific URI for the CacheManager |  | String
-| *flags* (advanced) | A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches. |  | String
-| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation |  | BiFunction
-| *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | String
-|===
-// endpoint options: END
-
-== Camel Operations
-This section lists all available operations, along with their header information.
-
-.Put Operations
-[cols="40%,60%", frame="all", options="header"]
-|===
-| Operation Name
-| Description
-
-| InfinispanOperation.PUT
-| *Context*: Embedded / Remote
-
-*Description*: Puts a key/value pair in the cache, optionally with expiration
-
-*Required Headers*: CamelInfinispanKey, CamelInfinispanValue
-
-*Optional Headers*: CamelInfinispanLifespanTime, CamelInfinispanLifespanTimeUnit, CamelInfinispanMaxIdleTime, CamelInfinispanMaxIdleTimeUnit, CamelInfinispanIgnoreReturnValues
-
-*Result Header*: CamelInfinispanOperationResult
-
-| InfinispanOperation.PUTASYNC
-| *Description*: Asynchronously puts a key/value pair in the cache, optionally with expiration
-
-
-| InfinispanOperation.PUTIFABSENT
-| *Description*: Puts a key/value pair in the cache if it did not exist, optionally with expiration
-
-
-| InfinispanOperation.PUTIFABSENTASYNC
-| *Description*: Asynchronously puts a key/value pair in the cache if it did not exist, optionally with expiration
-
-|===
-
-.Put All Operations
-[cols="40%,60%", options="header"]
-|===
-| Operation Name
-| Description
-
-| InfinispanOperation.PUTALL
-| *Context*: Embedded / Remote
-
-*Description*: Adds multiple entries to a cache, optionally with expiration
-
-*Required Headers*: CamelInfinispanMap
-
-*Optional Headers*: CamelInfinispanLifespanTime, CamelInfinispanLifespanTimeUnit, CamelInfinispanMaxIdleTime, CamelInfinispanMaxIdleTimeUnit
-
-*Result Header*: None
-
-| CamelInfinispanOperation.PUTALLASYNC
-| *Description*: Asynchronously adds multiple entries to a cache, optionally with expiration
-
-|===
-
-.Get Operations
-[cols="40%,60%", frame="all", options="header"]
-|===
-|Operation Name
-|Description
-
-| InfinispanOperation.GET
-| *Context*: Embedded / Remote
-
-*Description*: Retrieves the value associated with a specific key from the cache
-
-*Required Headers*: CamelInfinispanKey
-
-*Optional Headers*: None
-
-*Result Header*: None
-
-| InfinispanOperation.GETORDEFAULT
-| *Context*: Embedded / Remote
-
-*Description*: Retrieves the value, or default value, associated with a specific key from the cache
-
-*Required Headers*: CamelInfinispanKey
-
-*Optional Headers*: None
-
-*Result Header*: None
-|===
-
-.Contains Key Operation
-[cols="40%,60%", options="header"]
-|===
-| Operation Name
-| Description
-
-| InfinispanOperation.CONTAINSKEY
-| *Context*: Embedded / Remote
-
-*Description*: Determines whether a cache contains a specific key
-
-*Required Headers*: CamelInfinispanKey
-
-*Optional Headers*: None
-
-*Result Header*: CamelInfinispanOperationResult
-|===
-
-.Contains Value Operation
-[cols="40%,60%", options="header"]
-|===
-| Operation Name
-| Description
-
-| InfinispanOperation.CONTAINSVALUE
-| *Context*: Embedded / Remote
-
-*Description*: Determines whether a cache contains a specific value
-
-*Required Headers*: CamelInfinispanKey
-
-*Optional Headers*: None
-
-*Result Headers*: None
-|===
-
-.Remove Operations
-[cols="40%,60%", options="header"]
-|===
-| Operation Name
-| Description
-
-| InfinispanOperation.REMOVE
-| *Context*: Embedded / Remote
-
-*Description*: Removes an entry from a cache, optionally only if the value matches a given one
-
-*Required Headers*: CamelInfinispanKey
-
-*Optional Headers*: CamelInfinispanValue
-
-*Result Header*: CamelInfinispanOperationResult
-
-| InfinispanOperation.REMOVEASYNC
-| *Description*: Asynchronously removes an entry from a cache, optionally only if the value matches a given one
-
-|===
-
-.Replace Operations
-[cols="40%,60%", options="header"]
-|===
-| Operation Name
-| Description
-
-| InfinispanOperation.REPLACE
-| *Context*: Embedded / Remote
-
-*Description*: Conditionally replaces an entry in the cache, optionally with expiration
-
-*Required Headers*: CamelInfinispanKey, CamelInfinispanValue, CamelInfinispanOldValue
-
-*Optional Headers*: CamelInfinispanLifespanTime, CamelInfinispanLifespanTimeUnit, CamelInfinispanMaxIdleTime, CamelInfinispanMaxIdleTimeUnit, CamelInfinispanIgnoreReturnValues
-
-*Result Header*: CamelInfinispanOperationResult
-
-| InfinispanOperation.REPLACEASYNC
-| *Description*: Asynchronously conditionally replaces an entry in the cache, optionally with expiration
-
-|===
-
-.Clear Operations
-[cols="40%,60%", options="header"]
-|===
-| Operation Name
-| Description
-
-| InfinispanOperation.CLEAR
-| *Context*: Embedded / Remote
-
-*Description*: Clears the cache
-
-*Required Headers*: None
-
-*Optional Headers*: None
-
-*Result Header*: None
-
-| InfinispanOperation.CLEARASYNC
-| *Context*: Embedded / Remote
-
-*Description*: Asynchronously clears the cache
-
-*Required Headers*: None
-
-*Optional Headers*: None
-
-*Result Header*: None
-|===
-
-.Size Operation
-[cols="40%,60%", options="header"]
-|===
-| Operation Name
-| Description
-
-| InfinispanOperation.SIZE
-| *Context*: Embedded / Remote
-
-*Description*: Returns the number of entries in the cache
-
-*Required Headers*: None
-
-*Optional Headers*: None
-
-*Result Header*: CamelInfinispanOperationResult
-|===
-
-.Stats Operation
-[cols="40%,60%", options="header"]
-|===
-| Operation Name
-| Description
-
-| InfinispanOperation.STATS
-| *Context*: Embedded / Remote
-
-*Description*: Returns statistics about the cache
-
-*Required Headers*: None
-
-*Optional Headers*: None
-
-*Result Header*: CamelInfinispanOperationResult
-|===
-
-.Query Operation
-[cols="40%,60%", options="header"]
-|===
-| Operation Name
-| Description
-
-| InfinispanOperation.QUERY
-| *Context*: Remote
-
-*Description*: Executes a query on the cache
-
-*Required Headers*: CamelInfinispanQueryBuilder
-
-*Optional Headers*: None
-
-*Result Header*: CamelInfinispanOperationResult
-|===
-
-[NOTE]
-====
-Any operations that take `CamelInfinispanIgnoreReturnValues` will receive a null result.
-====
-
-
-
-== Message Headers
-
-[width="100%",cols="10%,10%,10%,10%,60%",options="header",]
-|=======================================================================
-|Name |Default Value |Type |Context |Description
-|CamelInfinispanCacheName |`null` |String |Shared |The cache participating in the operation or event.
-|CamelInfinispanOperation |`PUT` |InfinispanOperation |Producer |The operation to perform.
-|CamelInfinispanMap |`null` |Map |Producer |A Map to use in case of CamelInfinispanOperationPutAll operation
-|CamelInfinispanKey |`null` |Object |Shared |The key to perform the operation to or the key generating the event.
-|CamelInfinispanValue |`null` |Object |Producer |The value to use for the operation.
-|CamelInfinispanEventType |`null` |String |Consumer |The type of the received event. Possible values defined here org.infinispan.notifications.cachelistener.event.Event.Type
-|CamelInfinispanIsPre |`null` |Boolean |Consumer |Infinispan fires two events for each operation: one before and one after the operation.
-|CamelInfinispanLifespanTime |`null` |long |Producer |The Lifespan time of a value inside the cache. Negative values are interpreted as infinity.
-|CamelInfinispanTimeUnit |`null` |String |Producer |The Time Unit of an entry Lifespan Time.
-|CamelInfinispanMaxIdleTime |`null` |long |Producer |The maximum amount of time an entry is allowed to be idle for before it is considered as expired.
-|CamelInfinispanMaxIdleTimeUnit |`null` |String |Producer |The Time Unit of an entry Max Idle Time.
-|CamelInfinispanQueryBuilder |null |InfinispanQueryBuilder |Producer |The QueryBuilde to use for QUERY command, if not present the command defaults to InifinispanConfiguration's one
-|CamelInfinispanIgnoreReturnValues |null |Boolean |Producer |If this header is set, the return value for cache operation returning something is ignored by the client application
-|CamelInfinispanOperationResultHeader |null |String |Producer |Store the operation result in a header instead of the message body
-|=======================================================================
-
-== Examples
-
-* Retrieve a specific key from the default cache using a custom cache container:
-
-[source,java]
-----
-from("direct:start")
-    .setHeader(InfinispanConstants.OPERATION).constant(InfinispanOperation.GET)
-    .setHeader(InfinispanConstants.KEY).constant("123")
-    .to("infinispan?cacheContainer=#cacheContainer");
-----
-
-
-* Put a key/value into a named cache:
-+
-[source,java]
-----
-from("direct:start")
-    .setHeader(InfinispanConstants.OPERATION).constant(InfinispanOperation.PUT)
-    .setHeader(InfinispanConstants.KEY).constant("123")
-    .to("infinispan:myCacheName");
-----
-
-* Put a value with lifespan
-
-[source,java]
-----
-from("direct:start")
-    .setHeader(InfinispanConstants.OPERATION).constant(InfinispanOperation.GET)
-    .setHeader(InfinispanConstants.KEY).constant("123")
-    .setHeader(InfinispanConstants.LIFESPAN_TIME).constant(100L)
-    .setHeader(InfinispanConstants.LIFESPAN_TIME_UNIT.constant(TimeUnit.MILLISECONDS.toString())
-    .to("infinispan:myCacheName");
-----
-
-* Compute operation through a remapping function on the default cache using a custom cache container:
-
-[source,java]
-----
-@BindToRegistry("mappingFunction")
-BiFunction<String, String, String> comp = (k, v) -> v + "replay";
-
-from("direct:start")
-    .setHeader(InfinispanConstants.OPERATION).constant(InfinispanOperation.COMPUTE)
-    .setHeader(InfinispanConstants.KEY).constant("123")
-    .to("infinispan?cacheContainer=#cacheContainer&remappingFunction=#mappingFunction");
-----
-
-This will return oldValue + "replay".
-
-This can be done also as async operation, with the `InfinispanOperation.COMPUTEASYNC` operation
-
-* Retrieve a specific key from the remote cache using a cache container configuration with additional parameters (host, port and protocol version):
-
-[source,java]
-----
-org.infinispan.client.hotrod.configuration.Configuration cacheContainerConfiguration = new org.infinispan.client.hotrod.configuration.ConfigurationBuilder()
-    .addServer()
-        .host("localhost")
-        .port(9999)
-        .version(org.infinispan.client.hotrod.ProtocolVersion.PROTOCOL_VERSION_25)
-    .build();
-...
-
-from("direct:start")
-    .setHeader(InfinispanConstants.OPERATION).constant(InfinispanOperation.GET)
-    .setHeader(InfinispanConstants.KEY).constant("123")
-    .to("infinispan?cacheContainerConfiguration=#cacheContainerConfiguration");
-----
-
-
-
-=== XML examples
-
-Routing can also be performed using XML configuration.
-The following example demonstrates `camel-infinispan` `local-camel-producer`, a camel route that sends data to an embedded cache created by the `local-cache` module.
-
-[source,java,options="nowrap"]
-----
-<camelContext id="local-producer" xmlns="http://camel.apache.org/schema/blueprint">
-    <route>
-        <from uri="timer://local?fixedRate=true&amp;period=5000"/>
-        <setHeader headerName="CamelInfinispanKey">
-            <constant>CamelTimerCounter</constant>
-        </setHeader>
-        <setHeader headerName="CamelInfinispanValue">
-            <constant>CamelTimerCounter</constant>
-        </setHeader>
-        <to uri="infinispan://foo?cacheContainer=#cacheManager"/>
-        <to uri="log:local-put?showAll=true"/>
-    </route>
-</camelContext>
-----
-
-
-The provided example requires you to instantiate the [class]``cacheManager``.
-
-You can instantiate the [class]``cacheManager`` bean for Spring XML as follows:
-
-[source,xml,options="nowrap"]
-----
-<bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager" init-method="start" destroy-method="stop">
-    <constructor-arg type="java.lang.String" value="infinispan.xml"/>
-</bean>
-----
-
-
-The following demonstrates how to instantiate the [class]``cacheManager`` bean using Blueprint XML.
-
-[source,xml,options="nowrap"]
-----
-<bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager" init-method="start" destroy-method="stop">
-    <argument value="infinispan.xml" />
-</bean>
-----
-
-[NOTE]
-====
-Both the Spring XML and Blueprint XML examples use the configuration file [path]_infinispan.xml_
- for configuration of the cache. This file must be present on the classpath.
-====
-
-
-== Remote Query
-
-When executing remote queries the cacheManager must be an instance of ``RemoteCacheManager``, and an example configuration utilizing a `RemoteCacheManager` is found below for both Java and blueprint.xml:
-
-.Using only Java
-====
-[source,java,options="nowrap"]
-----
-from("direct:start")
-    .setHeader(InfinispanConstants.OPERATION, InfinispanConstants.QUERY)
-    .setHeader(InfinispanConstants.QUERY_BUILDER,
-      new InfinispanQueryBuilder() {
-        public Query build(QueryFactory<Query> queryFactory) {
-          return queryFactory.from(User.class).having("name").like("%abc%")
-                      .build();
-        }
-      })
-    .to("infinispan://localhost?cacheContainer=#cacheManager&cacheName=remote_query_cache") ;
-----
-====
-
-.Using Blueprint and Java
-====
-.Java [class]``RemoteCacheManagerFactory`` class:
-[source,java,options="nowrap"]
-----
-public class RemoteCacheManagerFactory {
-    ConfigurationBuilder clientBuilder;
-    public RemoteCacheManagerFactory(String hostname, int port) {
-        clientBuilder = new ConfigurationBuilder();
-        clientBuilder.addServer()
-            .host(hostname).port(port);
-    }
-    public RemoteCacheManager newRemoteCacheManager() {
-        return new RemoteCacheManager(clientBuilder.build());
-    }
-}
-----
-.Java [class]``InfinispanQueryExample`` class:
-[source,java,options="nowrap"]
-----
-public class InfinispanQueryExample {
-    public InfinispanQueryBuilder getBuilder() {
-        return new InfinispanQueryBuilder() {
-            public Query build(QueryFactory<Query> queryFactory) {
-                return queryFactory.from(User.class)
-                         .having("name")
-                         .like("%abc%")
-                         .build();
-            }
-        }
-    }
-}
-----
-.blueprint.xml:
-[source,xml,options="nowrap"]
-----
-<bean id=”remoteCacheManagerFactory” class=“com.datagrid.RemoteCacheManagerFactory”>
-    <argument value=”localhost”/>
-    <argument value="11222”/>
-</bean>
-
-<bean id=”cacheManager”
-    factory-ref=”remoteCacheManagerFactory”
-    factory-method=“newRemoteCacheManager”>
-</bean>
-
-<bean id="queryBuilder" class="org.example.com.InfinispanQueryExample"/>
-
-<camelContext id="route" xmlns="http://camel.apache.org/schema/blueprint">
-    <route>
-        <from uri="direct:start"/>
-            <setHeader headerName="CamelInfinispanOperation">
-                <constant>CamelInfinispanOperationQuery</constant>
-            </setHeader>
-            <setHeader headerName="CamelInfinispanQueryBuilder">
-                <method ref="queryBuilder" method="getBuilder"/>
-            </setHeader>
-        <to uri="infinispan://localhost?cacheContainer=#cacheManager&cacheName=remote_query_cache"/>
-    </route>
-</camelContext>
-----
-====
-
-The `remote_query_cache` is an arbitrary name for a cache that holds the data, and the results of the query will be a list of domain objects stored as a `CamelInfinispanOperationResult` header.
-
-In addition, there are the following requirements:
-
-* The [class]``RemoteCacheManager`` must be configured to use [class]``ProtoStreamMarshaller``.
-* The [class]``ProtoStreamMarshaller`` must be registered with the [class]``RemoteCacheManager``'s serialization context.
-* The .proto descriptors for domain objects must be registered with the remote Data Grid server.
-
-
-== Custom Listeners for Embedded Cache
-
-Custom Listeners for an embedded cache can be registered through the [parameter]``customListener`` parameter as shown below:
-
-.Using Java
-
-[source,java,options="nowrap"]
-----
-from("infinispan://?cacheContainer=#myCustomContainer&cacheName=customCacheName&customListener=#myCustomListener")
-  .to("mock:result");
-----
-
-.Using Blueprint
-
-[source,xml,options="nowrap"]
-----
-<bean id="myCustomContainer" org.infinispan.manager.DefaultCacheManager"
-      init-method="start" destroy-method="stop">
-      <argument value="infinispan.xml" />
-</bean>
-
-<bean id="myCustomListener" class="org.example.com.CustomListener"/>
-
-<camelContext id="route" xmlns="http://camel.apache.org/schema/blueprint">
-    <route>
-        <from uri="infinispan://?cacheContainer=#myCustomContainer&cacheName=customCacheName&customListener=#myCustomListener"/>
-        <to uri="mock:result"/>
-    </route>
-</camelContext>
-----
-
-
-The instance of [class]``myCustomListener`` must exist.
-Users are encouraged to extend the [class]``org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedCustomListener`` and annotate the resulting class with the `@Listener` annotation from [package]#org.infinispan.notifications#
-.
-
-[NOTE]
-====
-Custom filters and converters for embedded caches are currently not supported.
-====
-
-
-== Custom Listeners for Remote Cache
-
-Custom listeners for a remote cache can be registered in the same way as an embedded cache, with the exception that [parameter]``sync=false`` must be present.
-For instance:
-
-.Using only Java
-====
-[source,java,options="nowrap"]
-----
-from(infinispan://?cacheContainer=#cacheManager&sync=false&customListener=#myCustomListener")
-  .to(mock:result);
-----
-====
-
-.Using Blueprint and Java
-====
-.Java class:
-[source,java,options="nowrap"]
-----
-
-public class RemoteCacheManagerFactory {
-    ConfigurationBuilder clientBuilder;
-    public RemoteCacheManagerFactory(String hostname, int port) {
-        clientBuilder = new ConfigurationBuilder();
-        clientBuilder.addServer()
-            .host(hostname).port(port);
-    }
-    public RemoteCacheManager newRemoteCacheManager() {
-        return new RemoteCacheManager(clientBuilder.build());
-    }
-}
-----
-.blueprint.xml:
-[source,xml,options="nowrap"]
-----
-<bean id=”remoteCacheManagerFactory” class=“com.datagrid.RemoteCacheManagerFactory”>
-    <argument value=”localhost”/>
-    <argument value="11222”/>
-</bean>
-
-<bean id=”cacheManager”
-    factory-ref=”remoteCacheManagerFactory”
-    factory-method=“newRemoteCacheManager”>
-</bean>
-
-<bean id="myCustomListener" class="org.example.com.CustomListener"/>
-
-<camelContext id="route" xmlns="http://camel.apache.org/schema/blueprint">
-    <route>
-        <from uri="infinispan://?cacheContainer=#cacheManager&sync=false&customListener=#myCustomListener"/>
-        <to uri="mock:result"/>
-    </route>
-</camelContext>
-----
-====
-
-The instance of [class]``myCustomListener`` must exist.
-Users are encouraged to extend the [class]``org.apache.camel.component.infinispan.remote.InfinispanRemoteCustomListener`` class and annotate the resulting class with ``@ClientListener``; this annotation is found in [package]#org.infinispan.client.hotrod.annotation#
-.
-
-Remote listeners may also be associated with custom filters and converters as shown below:
-[source,java,options="nowrap"]
-----
-@ClientListener(includeCurrentState=true, filterFactoryName = "static-filter-factory", converterFactoryName = "static-converter-factory")
-  private static class MyCustomListener extends InfinispanRemoteCustomListener {
-}
-----
-
-In order to use custom filters or converters classes annotated with `@NamedFactory` must be implemented.
-A skeleton that implements the necessary methods is shown below:
-[source,java,options="nowrap"]
-----
-import org.infinispan.notifications.cachelistener.filter;
-
-@NamedFactory(name = "static-converter-factory")
-public static class StaticConverterFactory implements CacheEventConverterFactory {
-  @Override
-  public CacheEventConverter<Integer, String, CustomEvent> getConverter(Object[] params) {
-    ...
-  }
-
-  static class StaticConverter implements CacheEventConverter<Integer, String, CustomEvent>, Serializable {
-    @Override
-    public CustomEvent convert(Integer key, String previousValue, Metadata previousMetadata,
-                               String value, Metadata metadata, EventType eventType) {
-      ...
-    }
-  }
-}
-
-@NamedFactory(name = "static-filter-factory")
-public static class StaticCacheEventFilterFactory implements CacheEventFilterFactory {
-  @Override
-  public CacheEventFilter<Integer, String> getFilter(final Object[] params) {
-    ...
-  }
-
-  static class StaticCacheEventFilter implements CacheEventFilter<Integer, String>, Serializable {
-    @Override
-    public boolean accept(Integer key, String previousValue, Metadata previousMetadata,
-                          String value, Metadata metadata, EventType eventType) {
-      ...
-    }
-  }
-}
-----
-
-Custom filters and converters must be registered with the server.
-.
-
-[NOTE]
-====
-In order to listen for remote HotRod events the cacheManager must be of type [class]``RemoteCacheManager`` and instantiated.
-====
-
-[NOTE]
-====
-With the release of Infinispan 11, it is required to set the encoding configuration on any cache created. This is critical for consuming events too.
-For more information have a look at https://infinispan.org/docs/stable/titles/developing/developing.html#data_encoding[Data Encoding and MediaTypes] in the official Infinispan documentation.
-====
-
-== Using the Infinispan based idempotent repository
-
-In this section we will use the Infinispan based idempotent repository.
-
-First, we need to create a cacheManager and then configure our
-
-[source,java]
-----
-org.apache.camel.component.infinispan.processor.idempotent.InfinispanIdempotentRepository:
-----
-
-[source,xml]
-----
-<!-- set up the cache manager -->
-<bean id="cacheManager"
-      class="org.infinispan.manager.DefaultCacheManager"
-      init-method="start"
-      destroy-method="stop"/>
-
-<!-- set up the repository -->
-<bean id="infinispanRepo"
-      class="org.apache.camel.component.infinispan.InfinispanIdempotentRepository"
-      factory-method="infinispanIdempotentRepository">
-    <argument ref="cacheManager"/>
-    <argument value="idempotent"/>
-</bean>
-----
-
-Then we can create our Infinispan idempotent repository in the spring
-XML file as well:
-
-[source,xml]
-----
-<camelContext xmlns="http://camel.apache.org/schema/spring">
-    <route id="JpaMessageIdRepositoryTest">
-        <from uri="direct:start" />
-        <idempotentConsumer messageIdRepositoryRef="infinispanStore">
-            <header>messageId</header>
-            <to uri="mock:result" />
-        </idempotentConsumer>
-    </route>
-</camelContext>
-----
-
-
-include::camel-spring-boot::page$infinispan-starter.adoc[]
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedRoutePolicyTest.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedRoutePolicyTest.java
deleted file mode 100644
index 23aa8a0..0000000
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedRoutePolicyTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.infinispan.embedded;
-
-import org.apache.camel.component.infinispan.InfinispanRoutePolicy;
-import org.apache.camel.component.infinispan.InfinispanRoutePolicyTestSupport;
-import org.junit.jupiter.api.BeforeEach;
-
-public class InfinispanEmbeddedRoutePolicyTest extends InfinispanEmbeddedTestSupport
-        implements InfinispanRoutePolicyTestSupport {
-
-    @BeforeEach
-    protected void beforeEach() {
-        // cleanup the default test cache before each run
-        getCache().clear();
-    }
-
-    // *****************************
-    //
-    // *****************************
-
-    @Override
-    public InfinispanRoutePolicy createRoutePolicy(String lockValue) {
-        InfinispanEmbeddedConfiguration configuration = new InfinispanEmbeddedConfiguration();
-        configuration.setCacheContainer(cacheContainer);
-
-        InfinispanEmbeddedRoutePolicy policy = new InfinispanEmbeddedRoutePolicy(configuration);
-        policy.setLockMapName(getCacheName());
-        policy.setLockKey("lock-key");
-        policy.setLockValue(lockValue);
-
-        return policy;
-    }
-}
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteRoutePolicyTest.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteRoutePolicyTest.java
deleted file mode 100644
index a9864d1..0000000
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteRoutePolicyTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.infinispan.remote;
-
-import org.apache.camel.component.infinispan.InfinispanRoutePolicy;
-import org.apache.camel.component.infinispan.InfinispanRoutePolicyTestSupport;
-import org.junit.jupiter.api.BeforeEach;
-
-public class InfinispanRemoteRoutePolicyTest
-        extends InfinispanRemoteTestSupport
-        implements InfinispanRoutePolicyTestSupport {
-
-    @BeforeEach
-    protected void beforeEach() {
-        // cleanup the default test cache before each run
-        getCache().clear();
-    }
-
-    // *****************************
-    //
-    // *****************************
-
-    @Override
-    public InfinispanRoutePolicy createRoutePolicy(String lockValue) {
-        InfinispanRemoteConfiguration configuration = new InfinispanRemoteConfiguration();
-        configuration.setCacheContainer(cacheContainer);
-
-        InfinispanRemoteRoutePolicy policy = new InfinispanRemoteRoutePolicy(configuration);
-        policy.setLockMapName(getCacheName());
-        policy.setLockKey("lock-key");
-        policy.setLockValue(lockValue);
-
-        return policy;
-    }
-}
diff --git a/core/camel-allcomponents/pom.xml b/core/camel-allcomponents/pom.xml
index 1cffb06..197b026 100644
--- a/core/camel-allcomponents/pom.xml
+++ b/core/camel-allcomponents/pom.xml
@@ -683,6 +683,14 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.camel</groupId>
+			<artifactId>camel-infinispan-common</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.camel</groupId>
+			<artifactId>camel-infinispan-embedded</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.camel</groupId>
 			<artifactId>camel-infinispan</artifactId>
 		</dependency>
 		<dependency>
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index 0924bea..e099043 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -2415,13 +2415,13 @@ public interface ComponentsBuilderFactory {
         return org.apache.camel.builder.component.dsl.InfinispanComponentBuilderFactory.infinispan();
     }
     /**
-     * Infinispan Embedded (camel-infinispan)
+     * Infinispan Embedded (camel-infinispan-embedded)
      * Read and write from/to Infinispan distributed key/value store and data
      * grid.
      * 
      * Category: cache,datagrid,clustering
      * Since: 2.13
-     * Maven coordinates: org.apache.camel:camel-infinispan
+     * Maven coordinates: org.apache.camel:camel-infinispan-embedded
      * 
      * @return the dsl builder
      */
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanComponentBuilderFactory.java
index b05b653..92f37dc 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanComponentBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanComponentBuilderFactory.java
@@ -135,22 +135,6 @@ public interface InfinispanComponentBuilderFactory {
             return this;
         }
         /**
-         * The operation to perform.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: PUT
-         * Group: consumer
-         * 
-         * @param command the value to set
-         * @return the dsl builder
-         */
-        @Deprecated
-        default InfinispanComponentBuilder command(java.lang.String command) {
-            doSetProperty("command", command);
-            return this;
-        }
-        /**
          * Returns the custom listener in use, if provided.
          * 
          * The option is a:
@@ -526,7 +510,6 @@ public interface InfinispanComponentBuilderFactory {
             case "queryBuilder": getOrCreateConfiguration((InfinispanRemoteComponent) component).setQueryBuilder((org.apache.camel.component.infinispan.InfinispanQueryBuilder) value); return true;
             case "secure": getOrCreateConfiguration((InfinispanRemoteComponent) component).setSecure((boolean) value); return true;
             case "bridgeErrorHandler": ((InfinispanRemoteComponent) component).setBridgeErrorHandler((boolean) value); return true;
-            case "command": getOrCreateConfiguration((InfinispanRemoteComponent) component).setCommand((java.lang.String) value); return true;
             case "customListener": getOrCreateConfiguration((InfinispanRemoteComponent) component).setCustomListener((org.apache.camel.component.infinispan.remote.InfinispanRemoteCustomListener) value); return true;
             case "eventTypes": getOrCreateConfiguration((InfinispanRemoteComponent) component).setEventTypes((java.lang.String) value); return true;
             case "defaultValue": getOrCreateConfiguration((InfinispanRemoteComponent) component).setDefaultValue((java.lang.Object) value); return true;
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanEmbeddedComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanEmbeddedComponentBuilderFactory.java
index 2709e99..ab203d2 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanEmbeddedComponentBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanEmbeddedComponentBuilderFactory.java
@@ -31,13 +31,13 @@ import org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedComponen
 public interface InfinispanEmbeddedComponentBuilderFactory {
 
     /**
-     * Infinispan Embedded (camel-infinispan)
+     * Infinispan Embedded (camel-infinispan-embedded)
      * Read and write from/to Infinispan distributed key/value store and data
      * grid.
      * 
      * Category: cache,datagrid,clustering
      * Since: 2.13
-     * Maven coordinates: org.apache.camel:camel-infinispan
+     * Maven coordinates: org.apache.camel:camel-infinispan-embedded
      * 
      * @return the dsl builder
      */
@@ -122,23 +122,6 @@ public interface InfinispanEmbeddedComponentBuilderFactory {
             return this;
         }
         /**
-         * The operation to perform.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: PUT
-         * Group: consumer
-         * 
-         * @param command the value to set
-         * @return the dsl builder
-         */
-        @Deprecated
-        default InfinispanEmbeddedComponentBuilder command(
-                java.lang.String command) {
-            doSetProperty("command", command);
-            return this;
-        }
-        /**
          * Returns the custom listener in use, if provided.
          * 
          * The option is a:
@@ -444,7 +427,6 @@ public interface InfinispanEmbeddedComponentBuilderFactory {
             case "queryBuilder": getOrCreateConfiguration((InfinispanEmbeddedComponent) component).setQueryBuilder((org.apache.camel.component.infinispan.InfinispanQueryBuilder) value); return true;
             case "bridgeErrorHandler": ((InfinispanEmbeddedComponent) component).setBridgeErrorHandler((boolean) value); return true;
             case "clusteredListener": getOrCreateConfiguration((InfinispanEmbeddedComponent) component).setClusteredListener((boolean) value); return true;
-            case "command": getOrCreateConfiguration((InfinispanEmbeddedComponent) component).setCommand((java.lang.String) value); return true;
             case "customListener": getOrCreateConfiguration((InfinispanEmbeddedComponent) component).setCustomListener((org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedCustomListener) value); return true;
             case "eventTypes": getOrCreateConfiguration((InfinispanEmbeddedComponent) component).setEventTypes((java.lang.String) value); return true;
             case "sync": getOrCreateConfiguration((InfinispanEmbeddedComponent) component).setSync((boolean) value); return true;
diff --git a/core/camel-componentdsl/src/generated/resources/metadata.json b/core/camel-componentdsl/src/generated/resources/metadata.json
index 6f33ea5..82320fb 100644
--- a/core/camel-componentdsl/src/generated/resources/metadata.json
+++ b/core/camel-componentdsl/src/generated/resources/metadata.json
@@ -3980,7 +3980,7 @@
     "javaType": "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedComponent",
     "supportLevel": "Stable",
     "groupId": "org.apache.camel",
-    "artifactId": "camel-infinispan",
+    "artifactId": "camel-infinispan-embedded",
     "version": "3.8.0-SNAPSHOT",
     "scheme": "infinispan-embedded",
     "extendsScheme": "",
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index b4f2ab4..6d971b0 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -8090,13 +8090,13 @@ public class StaticEndpointBuilders {
         return org.apache.camel.builder.endpoint.dsl.InfinispanRemoteEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
     /**
-     * Infinispan Embedded (camel-infinispan)
+     * Infinispan Embedded (camel-infinispan-embedded)
      * Read and write from/to Infinispan distributed key/value store and data
      * grid.
      * 
      * Category: cache,datagrid,clustering
      * Since: 2.13
-     * Maven coordinates: org.apache.camel:camel-infinispan
+     * Maven coordinates: org.apache.camel:camel-infinispan-embedded
      * 
      * Syntax: <code>infinispan-embedded:cacheName</code>
      * 
@@ -8113,13 +8113,13 @@ public class StaticEndpointBuilders {
         return org.apache.camel.builder.endpoint.dsl.InfinispanEmbeddedEndpointBuilderFactory.endpointBuilder("infinispan-embedded", path);
     }
     /**
-     * Infinispan Embedded (camel-infinispan)
+     * Infinispan Embedded (camel-infinispan-embedded)
      * Read and write from/to Infinispan distributed key/value store and data
      * grid.
      * 
      * Category: cache,datagrid,clustering
      * Since: 2.13
-     * Maven coordinates: org.apache.camel:camel-infinispan
+     * Maven coordinates: org.apache.camel:camel-infinispan-embedded
      * 
      * Syntax: <code>infinispan-embedded:cacheName</code>
      * 
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanEmbeddedEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanEmbeddedEndpointBuilderFactory.java
index dce48e2..a8fe216 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanEmbeddedEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanEmbeddedEndpointBuilderFactory.java
@@ -153,22 +153,6 @@ public interface InfinispanEmbeddedEndpointBuilderFactory {
             return this;
         }
         /**
-         * The operation to perform.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: PUT
-         * Group: consumer
-         * 
-         * @param command the value to set
-         * @return the dsl builder
-         */
-        @Deprecated
-        default InfinispanEmbeddedEndpointConsumerBuilder command(String command) {
-            doSetProperty("command", command);
-            return this;
-        }
-        /**
          * Returns the custom listener in use, if provided.
          * 
          * The option is a:
@@ -1252,13 +1236,13 @@ public interface InfinispanEmbeddedEndpointBuilderFactory {
 
     public interface InfinispanEmbeddedBuilders {
         /**
-         * Infinispan Embedded (camel-infinispan)
+         * Infinispan Embedded (camel-infinispan-embedded)
          * Read and write from/to Infinispan distributed key/value store and
          * data grid.
          * 
          * Category: cache,datagrid,clustering
          * Since: 2.13
-         * Maven coordinates: org.apache.camel:camel-infinispan
+         * Maven coordinates: org.apache.camel:camel-infinispan-embedded
          * 
          * Syntax: <code>infinispan-embedded:cacheName</code>
          * 
@@ -1274,13 +1258,13 @@ public interface InfinispanEmbeddedEndpointBuilderFactory {
             return InfinispanEmbeddedEndpointBuilderFactory.endpointBuilder("infinispan-embedded", path);
         }
         /**
-         * Infinispan Embedded (camel-infinispan)
+         * Infinispan Embedded (camel-infinispan-embedded)
          * Read and write from/to Infinispan distributed key/value store and
          * data grid.
          * 
          * Category: cache,datagrid,clustering
          * Since: 2.13
-         * Maven coordinates: org.apache.camel:camel-infinispan
+         * Maven coordinates: org.apache.camel:camel-infinispan-embedded
          * 
          * Syntax: <code>infinispan-embedded:cacheName</code>
          * 
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanRemoteEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanRemoteEndpointBuilderFactory.java
index 0a379b0..0b4f9ab 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanRemoteEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanRemoteEndpointBuilderFactory.java
@@ -166,22 +166,6 @@ public interface InfinispanRemoteEndpointBuilderFactory {
             return this;
         }
         /**
-         * The operation to perform.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: PUT
-         * Group: consumer
-         * 
-         * @param command the value to set
-         * @return the dsl builder
-         */
-        @Deprecated
-        default InfinispanRemoteEndpointConsumerBuilder command(String command) {
-            doSetProperty("command", command);
-            return this;
-        }
-        /**
          * Returns the custom listener in use, if provided.
          * 
          * The option is a:
diff --git a/docs/components/modules/ROOT/pages/infinispan-component.adoc b/docs/components/modules/ROOT/pages/infinispan-component.adoc
index 7d88f54..01f2103 100644
--- a/docs/components/modules/ROOT/pages/infinispan-component.adoc
+++ b/docs/components/modules/ROOT/pages/infinispan-component.adoc
@@ -1,7 +1,7 @@
 [[infinispan-component]]
 = Infinispan Component
 //THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-infinispan/src/main/docs/infinispan-component.adoc
+:page-source: components/camel-infinispan/camel-infinispan/src/main/docs/infinispan-component.adoc
 :docTitle: Infinispan
 :artifactId: camel-infinispan
 :description: Read and write from/to Infinispan distributed key/value store and data grid.
@@ -44,23 +44,20 @@ The producer allows sending messages to a remote cache using the HotRod protocol
 The consumer allows listening for events from a remote cache using the HotRod protocol.
 
 // component options: START
-The Infinispan component supports 29 options, which are listed below.
+The Infinispan component supports 26 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *configuration* (common) | Component configuration |  | InfinispanConfiguration
+| *configuration* (common) | Component configuration |  | InfinispanRemoteConfiguration
 | *hosts* (common) | Specifies the host of the cache on Infinispan instance |  | String
 | *queryBuilder* (common) | Specifies the query builder. |  | InfinispanQueryBuilder
 | *secure* (common) | Define if we are connecting to a secured Infinispan instance | false | boolean
 | *bridgeErrorHandler* (consumer) | 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 message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *clusteredListener* (consumer) | If true, the listener will be installed for the entire cluster | false | boolean
-| *command* (consumer) | *Deprecated* The operation to perform. | PUT | String
-| *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanCustomListener
-| *eventTypes* (consumer) | Specifies the set of event types to register by the consumer. Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED |  | String
-| *sync* (consumer) | If true, the consumer will receive notifications synchronously | true | boolean
+| *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanRemoteCustomListener
+| *eventTypes* (consumer) | Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CLIENT_CACHE_ENTRY_CREATED, CLIENT_CACHE_ENTRY_MODIFIED, CLIENT_CACHE_ENTRY_REMOVED, CLIENT_CACHE_ENTRY_EXPIRED, CLIENT_CACHE_FAILOVER |  | String
 | *defaultValue* (producer) | Set a specific default value for some producer operations |  | Object
 | *key* (producer) | Set a specific key for producer operations |  | Object
 | *lazyStartProducer* (producer) | 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 starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
@@ -73,13 +70,13 @@ The Infinispan component supports 29 options, which are listed below.
 | *securityServerName* ( security) | Define the security server name to access the infinispan instance |  | String
 | *username* ( security) | Define the username to access the infinispan instance |  | String
 | *autowiredEnabled* (advanced) | 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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *cacheContainer* (advanced) | *Autowired* Specifies the cache Container to connect |  | BasicCacheContainer
-| *cacheContainerConfiguration* (advanced) | The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Object
+| *cacheContainer* (advanced) | *Autowired* Specifies the cache Container to connect |  | RemoteCacheManager
+| *cacheContainerConfiguration* (advanced) | *Autowired* The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Configuration
 | *configurationProperties* (advanced) | Implementation specific properties for the CacheManager |  | Map
 | *configurationUri* (advanced) | An implementation specific URI for the CacheManager |  | String
 | *flags* (advanced) | A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches. |  | String
-| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation |  | BiFunction
-| *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | Object
+| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation. |  | BiFunction
+| *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | String
 |===
 // component options: END
 
@@ -105,7 +102,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (29 parameters):
+=== Query Parameters (26 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -115,11 +112,8 @@ with the following path and query parameters:
 | *queryBuilder* (common) | Specifies the query builder. |  | InfinispanQueryBuilder
 | *secure* (common) | Define if we are connecting to a secured Infinispan instance | false | boolean
 | *bridgeErrorHandler* (consumer) | 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 message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *clusteredListener* (consumer) | If true, the listener will be installed for the entire cluster | false | boolean
-| *command* (consumer) | *Deprecated* The operation to perform. | PUT | String
-| *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanCustomListener
-| *eventTypes* (consumer) | Specifies the set of event types to register by the consumer. Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED |  | String
-| *sync* (consumer) | If true, the consumer will receive notifications synchronously | true | boolean
+| *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanRemoteCustomListener
+| *eventTypes* (consumer) | Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CLIENT_CACHE_ENTRY_CREATED, CLIENT_CACHE_ENTRY_MODIFIED, CLIENT_CACHE_ENTRY_REMOVED, CLIENT_CACHE_ENTRY_EXPIRED, CLIENT_CACHE_FAILOVER |  | String
 | *exceptionHandler* (consumer) | 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 consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
 | *defaultValue* (producer) | Set a specific default value for some producer operations |  | Object
@@ -133,13 +127,13 @@ with the following path and query parameters:
 | *securityRealm* ( security) | Define the security realm to access the infinispan instance |  | String
 | *securityServerName* ( security) | Define the security server name to access the infinispan instance |  | String
 | *username* ( security) | Define the username to access the infinispan instance |  | String
-| *cacheContainer* (advanced) | *Autowired* Specifies the cache Container to connect |  | BasicCacheContainer
-| *cacheContainerConfiguration* (advanced) | The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Object
+| *cacheContainer* (advanced) | *Autowired* Specifies the cache Container to connect |  | RemoteCacheManager
+| *cacheContainerConfiguration* (advanced) | *Autowired* The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Configuration
 | *configurationProperties* (advanced) | Implementation specific properties for the CacheManager |  | Map
 | *configurationUri* (advanced) | An implementation specific URI for the CacheManager |  | String
 | *flags* (advanced) | A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches. |  | String
-| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation |  | BiFunction
-| *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | Object
+| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation. |  | BiFunction
+| *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | String
 |===
 // endpoint options: END
 
diff --git a/docs/components/modules/ROOT/pages/infinispan-embedded-component.adoc b/docs/components/modules/ROOT/pages/infinispan-embedded-component.adoc
index f8365e5..0d2a807 100644
--- a/docs/components/modules/ROOT/pages/infinispan-embedded-component.adoc
+++ b/docs/components/modules/ROOT/pages/infinispan-embedded-component.adoc
@@ -1,9 +1,9 @@
 [[infinispan-embedded-component]]
 = Infinispan Embedded Component
 //THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-infinispan/src/main/docs/infinispan-embedded-component.adoc
+:page-source: components/camel-infinispan/camel-infinispan-embedded/src/main/docs/infinispan-embedded-component.adoc
 :docTitle: Infinispan Embedded
-:artifactId: camel-infinispan
+:artifactId: camel-infinispan-embedded
 :description: Read and write from/to Infinispan distributed key/value store and data grid.
 :since: 2.13
 :supportLevel: Stable
@@ -38,7 +38,7 @@ If you use Maven, you must add the following dependency to your `pom.xml`:
 ------------------------------------------------------------
 <dependency>
     <groupId>org.apache.camel</groupId>
-    <artifactId>camel-infinispan</artifactId>
+    <artifactId>camel-infinispan-embedded</artifactId>
     <version>x.x.x</version>
     <!-- use the same version as your Camel core version -->
 </dependency>
@@ -62,7 +62,7 @@ If no cache configuration is provided, embedded cacheContainer is created direct
 
 
 // component options: START
-The Infinispan Embedded component supports 21 options, which are listed below.
+The Infinispan Embedded component supports 20 options, which are listed below.
 
 
 
@@ -73,7 +73,6 @@ The Infinispan Embedded component supports 21 options, which are listed below.
 | *queryBuilder* (common) | Specifies the query builder. |  | InfinispanQueryBuilder
 | *bridgeErrorHandler* (consumer) | 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 message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *clusteredListener* (consumer) | If true, the listener will be installed for the entire cluster | false | boolean
-| *command* (consumer) | *Deprecated* The operation to perform. | PUT | String
 | *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanEmbeddedCustomListener
 | *eventTypes* (consumer) | Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, CACHE_ENTRY_EXPIRED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED, PERSIS [...]
 | *sync* (consumer) | If true, the consumer will receive notifications synchronously | true | boolean
@@ -88,7 +87,7 @@ The Infinispan Embedded component supports 21 options, which are listed below.
 | *cacheContainerConfiguration* (advanced) | *Autowired* The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Configuration
 | *configurationUri* (advanced) | An implementation specific URI for the CacheManager |  | String
 | *flags* (advanced) | A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches. |  | String
-| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation |  | BiFunction
+| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation. |  | BiFunction
 | *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | String
 |===
 // component options: END
@@ -115,7 +114,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (21 parameters):
+=== Query Parameters (20 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -124,7 +123,6 @@ with the following path and query parameters:
 | *queryBuilder* (common) | Specifies the query builder. |  | InfinispanQueryBuilder
 | *bridgeErrorHandler* (consumer) | 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 message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *clusteredListener* (consumer) | If true, the listener will be installed for the entire cluster | false | boolean
-| *command* (consumer) | *Deprecated* The operation to perform. | PUT | String
 | *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanEmbeddedCustomListener
 | *eventTypes* (consumer) | Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, CACHE_ENTRY_EXPIRED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED, PERSIS [...]
 | *sync* (consumer) | If true, the consumer will receive notifications synchronously | true | boolean
@@ -140,7 +138,7 @@ with the following path and query parameters:
 | *cacheContainerConfiguration* (advanced) | *Autowired* The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Configuration
 | *configurationUri* (advanced) | An implementation specific URI for the CacheManager |  | String
 | *flags* (advanced) | A comma separated list of Flag to be applied by default on each cache invocation, not applicable to remote caches. |  | String
-| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation |  | BiFunction
+| *remappingFunction* (advanced) | Set a specific remappingFunction to use in a compute operation. |  | BiFunction
 | *resultHeader* (advanced) | Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader |  | String
 |===
 // endpoint options: END
diff --git a/parent/pom.xml b/parent/pom.xml
index 0df304f..3dfd887 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1597,6 +1597,21 @@
 			</dependency>
 			<dependency>
 				<groupId>org.apache.camel</groupId>
+				<artifactId>camel-infinispan-common</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.camel</groupId>
+				<artifactId>camel-infinispan-embedded</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.camel</groupId>
+				<artifactId>camel-infinispan-parent</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.camel</groupId>
 				<artifactId>camel-infinispan</artifactId>
 				<version>${project.version}</version>
 			</dependency>
diff --git a/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/services/TestService.java b/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/services/TestService.java
index 2c4dcee..737cbef 100644
--- a/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/services/TestService.java
+++ b/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/services/TestService.java
@@ -17,7 +17,7 @@
 
 package org.apache.camel.test.infra.common.services;
 
-public interface TestService {
+public interface TestService extends AutoCloseable {
 
     /**
      * Register service properties (such as using System.setProperties) so that they can be resolved at distance (ie.:
@@ -35,4 +35,9 @@ public interface TestService {
      * Shuts down the service after the test has completed
      */
     void shutdown();
+
+    @Override
+    default void close() {
+        shutdown();
+    }
 }