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

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


The following commit(s) were added to refs/heads/main by this push:
     new 632fbd97fce CAMEL-20247: Updated dynamic router spring boot starter to 
reflect rework changes. (#1052)
632fbd97fce is described below

commit 632fbd97fcef6c76005386480833cd44266f18a4
Author: Steve Storck <steve...@gmail.com>
AuthorDate: Sat Dec 23 02:53:03 2023 -0500

    CAMEL-20247: Updated dynamic router spring boot starter to reflect rework 
changes. (#1052)
---
 .../camel/springboot/catalog/components.properties |  1 +
 .../catalog/components/dynamic-router-control.json | 49 ++++++++++++++++++++++
 .../catalog/components/dynamic-router.json         | 47 ++++++++++-----------
 .../src/main/docs/dynamic-router.json              | 48 ++++++++++++++++++---
 ...icRouterControlComponentAutoConfiguration.java} | 20 ++++-----
 ...ynamicRouterControlComponentConfiguration.java} | 15 +++----
 .../DynamicRouterComponentAutoConfiguration.java   |  4 +-
 .../DynamicRouterComponentConfiguration.java       |  2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |  3 +-
 9 files changed, 137 insertions(+), 52 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
index c6cc066d8f2..6616db0c13f 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
@@ -90,6 +90,7 @@ docker
 drill
 dropbox
 dynamic-router
+dynamic-router-control
 ehcache
 elasticsearch
 elasticsearch-rest-client
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dynamic-router-control.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dynamic-router-control.json
new file mode 100644
index 00000000000..659d5759138
--- /dev/null
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dynamic-router-control.json
@@ -0,0 +1,49 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "dynamic-router-control",
+    "title": "Dynamic Router Control",
+    "description": "The Dynamic Router control endpoint for operations that 
allow routing participants to subscribe or unsubscribe to participate in 
dynamic message routing.",
+    "deprecated": false,
+    "firstVersion": "4.3.0",
+    "label": "messaging",
+    "javaType": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel.springboot",
+    "artifactId": "camel-dynamic-router-starter",
+    "version": "4.4.0-SNAPSHOT",
+    "scheme": "dynamic-router-control",
+    "extendsScheme": "",
+    "syntax": "dynamic-router-control:controlAction",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "lazyStartProducer": { "index": 0, "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 [...]
+    "autowiredEnabled": { "index": 1, "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 t [...]
+  },
+  "headers": {
+    "CamelDynamicRouterControlAction": { "index": 0, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The control action header.", 
"constantName": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConstants#CONTROL_ACTION_HEADER"
 },
+    "CamelDynamicRouterSubscribeChannel": { "index": 1, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The Dynamic Router channel that the 
subscriber is subscribing on.", "constantName": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConstants#CONTROL_SUBSCRIBE_CHANNEL"
 },
+    "CamelDynamicRouterSubscriptionId": { "index": 2, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The subscription ID.", "constantName": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConstants#CONTROL_SUBSCRIPTION_ID"
 },
+    "CamelDynamicRouterDestinationUri": { "index": 3, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The URI on which the routing 
participant wants to receive matching exchanges.", "constantName": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConstants#CONTROL_DESTINATION_URI"
 },
+    "CamelDynamicRouterPriority": { "index": 4, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The priority of this subscription", 
"constantName": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConstants#CONTROL_PRIORITY"
 },
+    "CamelDynamicRouterPredicate": { "index": 5, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The predicate to evaluate exchanges for 
this subscription", "constantName": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConstants#CONTROL_PREDICATE"
 },
+    "CamelDynamicRouterPredicateBean": { "index": 6, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The name of the bean in the registry 
that identifies the subscription predicate.", "constantName": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConstants#CONTROL_PREDICATE_BEAN"
 },
+    "CamelDynamicRouterExpressionLanguage": { "index": 7, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The language for the predicate when 
supplied as a string.", "constantName": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConstants#CONTROL_EXPRESSION_LANGUAGE"
 }
+  },
+  "properties": {
+    "controlAction": { "index": 0, "kind": "path", "displayName": "Control 
Action", "group": "producer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "enum": [ "subscribe", "unsubscribe", "list" ], 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Control action" },
+    "lazyStartProducer": { "index": 1, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
+    "destinationUri": { "index": 2, "kind": "parameter", "displayName": 
"Destination Uri", "group": "control", "label": "control", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConfiguration",
 "configurationField": "configuration", "description": "The destination URI for 
exchanges that match." },
+    "expressionLanguage": { "index": 3, "kind": "parameter", "displayName": 
"Expression Language", "group": "control", "label": "control", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "simple", 
"configurationClass": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConfiguration",
 "configurationField": "configuration", "description": "The subscription 
predicate language." },
+    "predicate": { "index": 4, "kind": "parameter", "displayName": 
"Predicate", "group": "control", "label": "control", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConfiguration",
 "configurationField": "configuration", "description": "The subscription 
predicate." },
+    "predicateBean": { "index": 5, "kind": "parameter", "displayName": 
"Predicate Bean", "group": "control", "label": "control", "required": false, 
"type": "object", "javaType": "org.apache.camel.Predicate", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConfiguration",
 "configurationField": "configuration", "description": "A Predicate instance in 
the registry." },
+    "priority": { "index": 6, "kind": "parameter", "displayName": "Priority", 
"group": "control", "label": "control", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConfiguration",
 "configurationField": "configuration", "description": "The subscription 
priority." },
+    "subscribeChannel": { "index": 7, "kind": "parameter", "displayName": 
"Subscribe Channel", "group": "control", "label": "control", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConfiguration",
 "configurationField": "configuration", "description": "The channel to 
subscribe to" },
+    "subscriptionId": { "index": 8, "kind": "parameter", "displayName": 
"Subscription Id", "group": "control", "label": "control", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.control.DynamicRouterControlConfiguration",
 "configurationField": "configuration", "description": "The subscription ID; if 
unspecified, one will be assigned and returned." }
+  }
+}
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dynamic-router.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dynamic-router.json
index c15abf46b02..5574ffa4e02 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dynamic-router.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dynamic-router.json
@@ -7,7 +7,7 @@
     "deprecated": false,
     "firstVersion": "3.15.0",
     "label": "messaging,core",
-    "javaType": 
"org.apache.camel.component.dynamicrouter.DynamicRouterComponent",
+    "javaType": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterComponent",
     "supportLevel": "Stable",
     "groupId": "org.apache.camel.springboot",
     "artifactId": "camel-dynamic-router-starter",
@@ -15,7 +15,6 @@
     "scheme": "dynamic-router",
     "extendsScheme": "",
     "syntax": "dynamic-router:channel",
-    "alternativeSyntax": 
"dynamic-router:channel\/controlAction\/subscribeChannel",
     "async": false,
     "api": false,
     "consumerOnly": false,
@@ -27,28 +26,26 @@
     "autowiredEnabled": { "index": 1, "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 t [...]
   },
   "properties": {
-    "channel": { "index": 0, "kind": "path", "displayName": "Channel", 
"group": "common", "label": "common", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Channel of the Dynamic 
Router" },
-    "controlAction": { "index": 1, "kind": "path", "displayName": "Control 
Action", "group": "control", "label": "control", "required": false, "type": 
"string", "javaType": "java.lang.String", "enum": [ "subscribe", "unsubscribe" 
], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Control channel action: 
subscr [...]
-    "subscribeChannel": { "index": 2, "kind": "path", "displayName": 
"Subscribe Channel", "group": "control", "label": "control", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "The channel to subscribe 
to" },
-    "aggregationStrategy": { "index": 3, "kind": "parameter", "displayName": 
"Aggregation Strategy", "group": "common", "label": "common", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Refers to an 
AggregationStrategy to be used to assemble the replies from the m [...]
-    "executorService": { "index": 4, "kind": "parameter", "displayName": 
"Executor Service", "group": "common", "label": "common", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Refers to a custom 
Thread Pool to be used for parallel processing. Notice that, if you [...]
-    "ignoreInvalidEndpoints": { "index": 5, "kind": "parameter", 
"displayName": "Ignore Invalid Endpoints", "group": "common", "label": 
"common", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Ignore the invalid 
endpoint exception when attempting to [...]
-    "onPrepare": { "index": 6, "kind": "parameter", "displayName": "On 
Prepare", "group": "common", "label": "common", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Uses the Processor when 
preparing the org.apache.camel.Exchange to be sent. This can be used to de [...]
-    "parallelAggregate": { "index": 7, "kind": "parameter", "displayName": 
"Parallel Aggregate", "group": "common", "label": "common", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "If enabled then the 
aggregate method on AggregationStrategy can be  [...]
-    "parallelProcessing": { "index": 8, "kind": "parameter", "displayName": 
"Parallel Processing", "group": "common", "label": "common", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "If enabled, then sending 
via multicast occurs concurrently. Note  [...]
-    "recipientMode": { "index": 9, "kind": "parameter", "displayName": 
"Recipient Mode", "group": "common", "label": "common", "required": false, 
"type": "string", "javaType": "java.lang.String", "enum": [ "firstMatch", 
"allMatch" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "firstMatch", "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Recipient mode: firstM 
[...]
-    "shareUnitOfWork": { "index": 10, "kind": "parameter", "displayName": 
"Share Unit Of Work", "group": "common", "label": "common", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Shares the 
org.apache.camel.spi.UnitOfWork with the parent and each  [...]
-    "stopOnException": { "index": 11, "kind": "parameter", "displayName": 
"Stop On Exception", "group": "common", "label": "common", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Will stop further 
processing if an exception or failure occurred duri [...]
-    "streaming": { "index": 12, "kind": "parameter", "displayName": 
"Streaming", "group": "common", "label": "common", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "If enabled, then Camel 
will process replies out-of-order (e.g., in the order they c [...]
-    "synchronous": { "index": 13, "kind": "parameter", "displayName": 
"Synchronous", "group": "common", "label": "common", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Sets whether synchronous 
processing should be strictly used. When enabled then  [...]
-    "timeout": { "index": 14, "kind": "parameter", "displayName": "Timeout", 
"group": "common", "label": "common", "required": false, "type": "integer", 
"javaType": "long", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": -1, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Sets a total timeout 
specified in milliseconds, when using parallel processing. If the Multic [...]
-    "warnDroppedMessage": { "index": 15, "kind": "parameter", "displayName": 
"Warn Dropped Message", "group": "common", "label": "common", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Flag to log a warning if 
no predicates match for an exchange." },
-    "lazyStartProducer": { "index": 16, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
-    "destinationUri": { "index": 17, "kind": "parameter", "displayName": 
"Destination Uri", "group": "control", "label": "control", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "The destination URI for 
exchanges that match." },
-    "expressionLanguage": { "index": 18, "kind": "parameter", "displayName": 
"Expression Language", "group": "control", "label": "control", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "simple", 
"configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "The subscription 
predicate language." },
-    "predicate": { "index": 19, "kind": "parameter", "displayName": 
"Predicate", "group": "control", "label": "control", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "The subscription 
predicate." },
-    "predicateBean": { "index": 20, "kind": "parameter", "displayName": 
"Predicate Bean", "group": "control", "label": "control", "required": false, 
"type": "object", "javaType": "org.apache.camel.Predicate", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "A Predicate instance in 
the registry." },
-    "priority": { "index": 21, "kind": "parameter", "displayName": "Priority", 
"group": "control", "label": "control", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "The subscription 
priority." },
-    "subscriptionId": { "index": 22, "kind": "parameter", "displayName": 
"Subscription Id", "group": "control", "label": "control", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "The subscription ID; if 
unspecified, one will be assigned and returned." }
+    "channel": { "index": 0, "kind": "path", "displayName": "Channel", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Channel for the Dynamic Router. For example, 
if the Dynamic Router URI is dynamic-router:\/\/test, then the channel is test. 
Channels are a way of keeping routing participants, their rules, and exchanges 
logically separate from the participants [...]
+    "aggregationStrategy": { "index": 1, "kind": "parameter", "displayName": 
"Aggregation Strategy", "group": "common", "label": "common", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Refers to an 
AggregationStrategy to be used to assemble the replies fr [...]
+    "aggregationStrategyBean": { "index": 2, "kind": "parameter", 
"displayName": "Aggregation Strategy Bean", "group": "common", "label": 
"common", "required": false, "type": "object", "javaType": 
"org.apache.camel.AggregationStrategy", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Refers to an 
AggregationStrategy to be us [...]
+    "aggregationStrategyMethodAllowNull": { "index": 3, "kind": "parameter", 
"displayName": "Aggregation Strategy Method Allow Null", "group": "common", 
"label": "common", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "If this option is fals 
[...]
+    "aggregationStrategyMethodName": { "index": 4, "kind": "parameter", 
"displayName": "Aggregation Strategy Method Name", "group": "common", "label": 
"common", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "You can use a POJO as 
the AggregationStrategy. T [...]
+    "cacheSize": { "index": 5, "kind": "parameter", "displayName": "Cache 
Size", "group": "common", "label": "common", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 100, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "When caching producer 
endpoints, this is the size of the cache. Default is 100." },
+    "executorService": { "index": 6, "kind": "parameter", "displayName": 
"Executor Service", "group": "common", "label": "common", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Refers to a custom 
Thread Pool to be used for parallel processing. Notice that [...]
+    "executorServiceBean": { "index": 7, "kind": "parameter", "displayName": 
"Executor Service Bean", "group": "common", "label": "common", "required": 
false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Refers to a custom 
Thread Pool to be used for par [...]
+    "ignoreInvalidEndpoints": { "index": 8, "kind": "parameter", 
"displayName": "Ignore Invalid Endpoints", "group": "common", "label": 
"common", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Ignore the invalid 
endpoint exception when attem [...]
+    "onPrepare": { "index": 9, "kind": "parameter", "displayName": "On 
Prepare", "group": "common", "label": "common", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Uses the Processor when 
preparing the org.apache.camel.Exchange to be sent. This can be us [...]
+    "onPrepareProcessor": { "index": 10, "kind": "parameter", "displayName": 
"On Prepare Processor", "group": "common", "label": "common", "required": 
false, "type": "object", "javaType": "org.apache.camel.Processor", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Uses the Processor when 
preparing the org.apache.camel.Excha [...]
+    "parallelAggregate": { "index": 11, "kind": "parameter", "displayName": 
"Parallel Aggregate", "group": "common", "label": "common", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "If enabled then the 
aggregate method on AggregationStrateg [...]
+    "parallelProcessing": { "index": 12, "kind": "parameter", "displayName": 
"Parallel Processing", "group": "common", "label": "common", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "If enabled, then sending 
via multicast occurs concurrent [...]
+    "recipientMode": { "index": 13, "kind": "parameter", "displayName": 
"Recipient Mode", "group": "common", "label": "common", "required": false, 
"type": "string", "javaType": "java.lang.String", "enum": [ "firstMatch", 
"allMatch" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "firstMatch", "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Recipient mod [...]
+    "shareUnitOfWork": { "index": 14, "kind": "parameter", "displayName": 
"Share Unit Of Work", "group": "common", "label": "common", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Shares the 
org.apache.camel.spi.UnitOfWork with the parent a [...]
+    "stopOnException": { "index": 15, "kind": "parameter", "displayName": 
"Stop On Exception", "group": "common", "label": "common", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Will stop further 
processing if an exception or failure occur [...]
+    "streaming": { "index": 16, "kind": "parameter", "displayName": 
"Streaming", "group": "common", "label": "common", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "If enabled, then Camel 
will process replies out-of-order (e.g., in the orde [...]
+    "synchronous": { "index": 17, "kind": "parameter", "displayName": 
"Synchronous", "group": "common", "label": "common", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Sets whether synchronous 
processing should be strictly used. When enabl [...]
+    "timeout": { "index": 18, "kind": "parameter", "displayName": "Timeout", 
"group": "common", "label": "common", "required": false, "type": "integer", 
"javaType": "long", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": -1, "configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Sets a total timeout 
specified in milliseconds, when using parallel processing. If th [...]
+    "warnDroppedMessage": { "index": 19, "kind": "parameter", "displayName": 
"Warn Dropped Message", "group": "common", "label": "common", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.dynamicrouter.routing.DynamicRouterConfiguration", 
"configurationField": "configuration", "description": "Flag to log a warning if 
no predicates match for an exc [...]
+    "lazyStartProducer": { "index": 20, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
   }
 }
diff --git 
a/components-starter/camel-dynamic-router-starter/src/main/docs/dynamic-router.json
 
b/components-starter/camel-dynamic-router-starter/src/main/docs/dynamic-router.json
index a407eba7b21..8645a3c65b6 100644
--- 
a/components-starter/camel-dynamic-router-starter/src/main/docs/dynamic-router.json
+++ 
b/components-starter/camel-dynamic-router-starter/src/main/docs/dynamic-router.json
@@ -2,22 +2,58 @@
   "groups": [
     {
       "name": "camel.component.dynamic-router",
-      "type": 
"org.apache.camel.component.dynamicrouter.springboot.DynamicRouterComponentConfiguration",
-      "sourceType": 
"org.apache.camel.component.dynamicrouter.springboot.DynamicRouterComponentConfiguration"
+      "type": 
"org.apache.camel.component.dynamicrouter.routing.springboot.DynamicRouterComponentConfiguration",
+      "sourceType": 
"org.apache.camel.component.dynamicrouter.routing.springboot.DynamicRouterComponentConfiguration"
+    },
+    {
+      "name": "camel.component.dynamic-router-control",
+      "type": 
"org.apache.camel.component.dynamicrouter.control.springboot.DynamicRouterControlComponentConfiguration",
+      "sourceType": 
"org.apache.camel.component.dynamicrouter.control.springboot.DynamicRouterControlComponentConfiguration"
+    },
+    {
+      "name": "camel.component.dynamic-router-control.customizer",
+      "type": 
"org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
+      "sourceType": 
"org.apache.camel.component.dynamicrouter.control.springboot.DynamicRouterControlComponentConfiguration",
+      "sourceMethod": "getCustomizer()"
     },
     {
       "name": "camel.component.dynamic-router.customizer",
       "type": 
"org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
-      "sourceType": 
"org.apache.camel.component.dynamicrouter.springboot.DynamicRouterComponentConfiguration",
+      "sourceType": 
"org.apache.camel.component.dynamicrouter.routing.springboot.DynamicRouterComponentConfiguration",
       "sourceMethod": "getCustomizer()"
     }
   ],
   "properties": [
+    {
+      "name": "camel.component.dynamic-router-control.autowired-enabled",
+      "type": "java.lang.Boolean",
+      "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 then gets configured on the component. This can be used for 
automatic configuring JDBC data sources, JMS connection factories, AWS Clients, 
etc.",
+      "sourceType": 
"org.apache.camel.component.dynamicrouter.control.springboot.DynamicRouterControlComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.dynamic-router-control.customizer.enabled",
+      "type": "java.lang.Boolean",
+      "sourceType": 
"org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
+    },
+    {
+      "name": "camel.component.dynamic-router-control.enabled",
+      "type": "java.lang.Boolean",
+      "description": "Whether to enable auto configuration of the 
dynamic-router-control component. This is enabled by default.",
+      "sourceType": 
"org.apache.camel.component.dynamicrouter.control.springboot.DynamicRouterControlComponentConfiguration"
+    },
+    {
+      "name": "camel.component.dynamic-router-control.lazy-start-producer",
+      "type": "java.lang.Boolean",
+      "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 
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 starting the [...]
+      "sourceType": 
"org.apache.camel.component.dynamicrouter.control.springboot.DynamicRouterControlComponentConfiguration",
+      "defaultValue": false
+    },
     {
       "name": "camel.component.dynamic-router.autowired-enabled",
       "type": "java.lang.Boolean",
       "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 then gets configured on the component. This can be used for 
automatic configuring JDBC data sources, JMS connection factories, AWS Clients, 
etc.",
-      "sourceType": 
"org.apache.camel.component.dynamicrouter.springboot.DynamicRouterComponentConfiguration",
+      "sourceType": 
"org.apache.camel.component.dynamicrouter.routing.springboot.DynamicRouterComponentConfiguration",
       "defaultValue": true
     },
     {
@@ -29,13 +65,13 @@
       "name": "camel.component.dynamic-router.enabled",
       "type": "java.lang.Boolean",
       "description": "Whether to enable auto configuration of the 
dynamic-router component. This is enabled by default.",
-      "sourceType": 
"org.apache.camel.component.dynamicrouter.springboot.DynamicRouterComponentConfiguration"
+      "sourceType": 
"org.apache.camel.component.dynamicrouter.routing.springboot.DynamicRouterComponentConfiguration"
     },
     {
       "name": "camel.component.dynamic-router.lazy-start-producer",
       "type": "java.lang.Boolean",
       "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 
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 starting the [...]
-      "sourceType": 
"org.apache.camel.component.dynamicrouter.springboot.DynamicRouterComponentConfiguration",
+      "sourceType": 
"org.apache.camel.component.dynamicrouter.routing.springboot.DynamicRouterComponentConfiguration",
       "defaultValue": false
     }
   ],
diff --git 
a/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/springboot/DynamicRouterComponentAutoConfiguration.java
 
b/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/control/springboot/DynamicRouterControlComponentAutoConfiguration.java
similarity index 82%
copy from 
components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/springboot/DynamicRouterComponentAutoConfiguration.java
copy to 
components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/control/springboot/DynamicRouterControlComponentAutoConfiguration.java
index 9e28d67f6f9..4eb669e0bdf 100644
--- 
a/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/springboot/DynamicRouterComponentAutoConfiguration.java
+++ 
b/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/control/springboot/DynamicRouterControlComponentAutoConfiguration.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.dynamicrouter.springboot;
+package org.apache.camel.component.dynamicrouter.control.springboot;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Component;
-import org.apache.camel.component.dynamicrouter.DynamicRouterComponent;
+import 
org.apache.camel.component.dynamicrouter.control.DynamicRouterControlComponent;
 import org.apache.camel.spi.ComponentCustomizer;
 import org.apache.camel.spring.boot.CamelAutoConfiguration;
 import org.apache.camel.spring.boot.ComponentConfigurationProperties;
@@ -40,25 +40,25 @@ import org.springframework.context.annotation.Lazy;
  */
 @Configuration(proxyBeanMethods = false)
 @Conditional(ConditionalOnCamelContextAndAutoConfigurationBeans.class)
-@EnableConfigurationProperties({ComponentConfigurationProperties.class,DynamicRouterComponentConfiguration.class})
-@ConditionalOnHierarchicalProperties({"camel.component", 
"camel.component.dynamic-router"})
+@EnableConfigurationProperties({ComponentConfigurationProperties.class,DynamicRouterControlComponentConfiguration.class})
+@ConditionalOnHierarchicalProperties({"camel.component", 
"camel.component.dynamic-router-control"})
 @AutoConfigureAfter(CamelAutoConfiguration.class)
-public class DynamicRouterComponentAutoConfiguration {
+public class DynamicRouterControlComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
     private final CamelContext camelContext;
     @Autowired
-    private DynamicRouterComponentConfiguration configuration;
+    private DynamicRouterControlComponentConfiguration configuration;
 
-    public DynamicRouterComponentAutoConfiguration(
+    public DynamicRouterControlComponentAutoConfiguration(
             org.apache.camel.CamelContext camelContext) {
         this.camelContext = camelContext;
     }
 
     @Lazy
     @Bean
-    public ComponentCustomizer configureDynamicRouterComponent() {
+    public ComponentCustomizer configureDynamicRouterControlComponent() {
         return new ComponentCustomizer() {
             @Override
             public void configure(String name, Component target) {
@@ -69,8 +69,8 @@ public class DynamicRouterComponentAutoConfiguration {
                 return HierarchicalPropertiesEvaluator.evaluate(
                         applicationContext,
                         "camel.component.customizer",
-                        "camel.component.dynamic-router.customizer")
-                    && target instanceof DynamicRouterComponent;
+                        "camel.component.dynamic-router-control.customizer")
+                    && target instanceof DynamicRouterControlComponent;
             }
         };
     }
diff --git 
a/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/springboot/DynamicRouterComponentConfiguration.java
 
b/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/control/springboot/DynamicRouterControlComponentConfiguration.java
similarity index 88%
copy from 
components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/springboot/DynamicRouterComponentConfiguration.java
copy to 
components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/control/springboot/DynamicRouterControlComponentConfiguration.java
index b1c1bed9571..4a118614112 100644
--- 
a/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/springboot/DynamicRouterComponentConfiguration.java
+++ 
b/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/control/springboot/DynamicRouterControlComponentConfiguration.java
@@ -14,25 +14,26 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.dynamicrouter.springboot;
+package org.apache.camel.component.dynamicrouter.control.springboot;
 
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
 /**
- * The Dynamic Router component routes exchanges to recipients, and the
- * recipients (and their rules) may change at runtime.
+ * The Dynamic Router control endpoint for operations that allow routing
+ * participants to subscribe or unsubscribe to participate in dynamic message
+ * routing.
  * 
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
-@ConfigurationProperties(prefix = "camel.component.dynamic-router")
-public class DynamicRouterComponentConfiguration
+@ConfigurationProperties(prefix = "camel.component.dynamic-router-control")
+public class DynamicRouterControlComponentConfiguration
         extends
             ComponentConfigurationPropertiesCommon {
 
     /**
-     * Whether to enable auto configuration of the dynamic-router component.
-     * This is enabled by default.
+     * Whether to enable auto configuration of the dynamic-router-control
+     * component. This is enabled by default.
      */
     private Boolean enabled;
     /**
diff --git 
a/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/springboot/DynamicRouterComponentAutoConfiguration.java
 
b/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/routing/springboot/DynamicRouterComponentAutoConfiguration.java
similarity index 95%
rename from 
components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/springboot/DynamicRouterComponentAutoConfiguration.java
rename to 
components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/routing/springboot/DynamicRouterComponentAutoConfiguration.java
index 9e28d67f6f9..9e25cf640b8 100644
--- 
a/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/springboot/DynamicRouterComponentAutoConfiguration.java
+++ 
b/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/routing/springboot/DynamicRouterComponentAutoConfiguration.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.dynamicrouter.springboot;
+package org.apache.camel.component.dynamicrouter.routing.springboot;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Component;
-import org.apache.camel.component.dynamicrouter.DynamicRouterComponent;
+import org.apache.camel.component.dynamicrouter.routing.DynamicRouterComponent;
 import org.apache.camel.spi.ComponentCustomizer;
 import org.apache.camel.spring.boot.CamelAutoConfiguration;
 import org.apache.camel.spring.boot.ComponentConfigurationProperties;
diff --git 
a/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/springboot/DynamicRouterComponentConfiguration.java
 
b/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/routing/springboot/DynamicRouterComponentConfiguration.java
similarity index 97%
rename from 
components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/springboot/DynamicRouterComponentConfiguration.java
rename to 
components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/routing/springboot/DynamicRouterComponentConfiguration.java
index b1c1bed9571..76aad61bc99 100644
--- 
a/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/springboot/DynamicRouterComponentConfiguration.java
+++ 
b/components-starter/camel-dynamic-router-starter/src/main/java/org/apache/camel/component/dynamicrouter/routing/springboot/DynamicRouterComponentConfiguration.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.dynamicrouter.springboot;
+package org.apache.camel.component.dynamicrouter.routing.springboot;
 
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git 
a/components-starter/camel-dynamic-router-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 
b/components-starter/camel-dynamic-router-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index e62e2d1b9c2..e9c40eed33a 100644
--- 
a/components-starter/camel-dynamic-router-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ 
b/components-starter/camel-dynamic-router-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -15,4 +15,5 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-org.apache.camel.component.dynamicrouter.springboot.DynamicRouterComponentAutoConfiguration
\ No newline at end of file
+org.apache.camel.component.dynamicrouter.routing.springboot.DynamicRouterComponentAutoConfiguration
+org.apache.camel.component.dynamicrouter.control.springboot.DynamicRouterControlComponentAutoConfiguration

Reply via email to