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

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

commit 82b6b93137cf2284006878ca316fec9469bf5543
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue May 28 07:49:44 2024 +0200

    CAMEL-20798: Add RemoteAddress to endpoints so they can tell the 
url/hostname etc for the system it connects. This is needed for better 
monitoring, tracing and management. Add this information into camel-tracer as 
tags.
---
 .../camel/catalog/components/optaplanner.json      |  20 +-
 .../camel/component/optaplanner/optaplanner.json   |  20 +-
 .../optaplanner/OptaPlannerComponent.java          |   3 -
 .../optaplanner/OptaPlannerConfiguration.java      |  10 +-
 .../component/optaplanner/OptaPlannerConsumer.java |  12 +-
 .../component/optaplanner/OptaPlannerEndpoint.java |   5 -
 .../component/optaplanner/OptaPlannerProducer.java |   2 +-
 .../OptaplannerSolutionEventListener.java          |   1 +
 .../dsl/OptaPlannerEndpointBuilderFactory.java     | 248 ++++++++++-----------
 .../camel/kotlin/components/OptaplannerUriDsl.kt   |  16 +-
 10 files changed, 162 insertions(+), 175 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/optaplanner.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/optaplanner.json
index a094d9fff08..d02a2879955 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/optaplanner.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/optaplanner.json
@@ -36,15 +36,15 @@
   },
   "properties": {
     "problemName": { "index": 0, "kind": "path", "displayName": "Problem 
Name", "group": "common", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Problem name" },
-    "problemId": { "index": 1, "kind": "parameter", "displayName": "Problem 
Id", "group": "common", "label": "common", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "1L", "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "In case of using 
SolverManager : the problem id" },
-    "solverId": { "index": 2, "kind": "parameter", "displayName": "Solver Id", 
"group": "common", "label": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "DEFAULT_SOLVER", "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Specifies the solverId 
to user for the solver instance key" },
-    "bridgeErrorHandler": { "index": 3, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming  [...]
-    "exceptionHandler": { "index": 4, "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 def [...]
-    "exchangePattern": { "index": 5, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
-    "async": { "index": 6, "kind": "parameter", "displayName": "Async", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Specifies to perform 
operations in async mode" },
-    "threadPoolSize": { "index": 7, "kind": "parameter", "displayName": 
"Thread Pool Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Specifies the thread 
pool size to use when async is true" },
-    "lazyStartProducer": { "index": 8, "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 [...]
-    "configFile": { "index": 9, "kind": "parameter", "displayName": "Config 
File", "group": "configFile", "label": "configFile", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "If SolverManager is 
absent from the header {OptaPlannerConstants.SOLVER_MANAGER} : A SolverM [...]
-    "solverManager": { "index": 10, "kind": "parameter", "displayName": 
"Solver Manager", "group": "solverManager", "label": "solverManager", 
"required": false, "type": "object", "javaType": 
"org.optaplanner.core.api.solver.SolverManager", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "SolverManager" }
+    "configFile": { "index": 1, "kind": "parameter", "displayName": "Config 
File", "group": "common", "label": "common", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "If SolverManager is 
absent from the header OptaPlannerConstants.SOLVER_MANAGER then a SolverManager 
 [...]
+    "problemId": { "index": 2, "kind": "parameter", "displayName": "Problem 
Id", "group": "common", "label": "common", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "1L", "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "In case of using 
SolverManager : the problem id" },
+    "solverId": { "index": 3, "kind": "parameter", "displayName": "Solver Id", 
"group": "common", "label": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "DEFAULT_SOLVER", "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Specifies the solverId 
to user for the solver instance key" },
+    "bridgeErrorHandler": { "index": 4, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming  [...]
+    "exceptionHandler": { "index": 5, "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 def [...]
+    "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
+    "async": { "index": 7, "kind": "parameter", "displayName": "Async", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Specifies to perform 
operations in async mode" },
+    "threadPoolSize": { "index": 8, "kind": "parameter", "displayName": 
"Thread Pool Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Specifies the thread 
pool size to use when async is true" },
+    "lazyStartProducer": { "index": 9, "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 [...]
+    "solverManager": { "index": 10, "kind": "parameter", "displayName": 
"Solver Manager", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": "org.optaplanner.core.api.solver.SolverManager", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "SolverManager" }
   }
 }
diff --git 
a/components/camel-optaplanner/src/generated/resources/META-INF/org/apache/camel/component/optaplanner/optaplanner.json
 
b/components/camel-optaplanner/src/generated/resources/META-INF/org/apache/camel/component/optaplanner/optaplanner.json
index a094d9fff08..d02a2879955 100644
--- 
a/components/camel-optaplanner/src/generated/resources/META-INF/org/apache/camel/component/optaplanner/optaplanner.json
+++ 
b/components/camel-optaplanner/src/generated/resources/META-INF/org/apache/camel/component/optaplanner/optaplanner.json
@@ -36,15 +36,15 @@
   },
   "properties": {
     "problemName": { "index": 0, "kind": "path", "displayName": "Problem 
Name", "group": "common", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Problem name" },
-    "problemId": { "index": 1, "kind": "parameter", "displayName": "Problem 
Id", "group": "common", "label": "common", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "1L", "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "In case of using 
SolverManager : the problem id" },
-    "solverId": { "index": 2, "kind": "parameter", "displayName": "Solver Id", 
"group": "common", "label": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "DEFAULT_SOLVER", "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Specifies the solverId 
to user for the solver instance key" },
-    "bridgeErrorHandler": { "index": 3, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming  [...]
-    "exceptionHandler": { "index": 4, "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 def [...]
-    "exchangePattern": { "index": 5, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
-    "async": { "index": 6, "kind": "parameter", "displayName": "Async", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Specifies to perform 
operations in async mode" },
-    "threadPoolSize": { "index": 7, "kind": "parameter", "displayName": 
"Thread Pool Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Specifies the thread 
pool size to use when async is true" },
-    "lazyStartProducer": { "index": 8, "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 [...]
-    "configFile": { "index": 9, "kind": "parameter", "displayName": "Config 
File", "group": "configFile", "label": "configFile", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "If SolverManager is 
absent from the header {OptaPlannerConstants.SOLVER_MANAGER} : A SolverM [...]
-    "solverManager": { "index": 10, "kind": "parameter", "displayName": 
"Solver Manager", "group": "solverManager", "label": "solverManager", 
"required": false, "type": "object", "javaType": 
"org.optaplanner.core.api.solver.SolverManager", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "SolverManager" }
+    "configFile": { "index": 1, "kind": "parameter", "displayName": "Config 
File", "group": "common", "label": "common", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "If SolverManager is 
absent from the header OptaPlannerConstants.SOLVER_MANAGER then a SolverManager 
 [...]
+    "problemId": { "index": 2, "kind": "parameter", "displayName": "Problem 
Id", "group": "common", "label": "common", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "1L", "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "In case of using 
SolverManager : the problem id" },
+    "solverId": { "index": 3, "kind": "parameter", "displayName": "Solver Id", 
"group": "common", "label": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "DEFAULT_SOLVER", "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Specifies the solverId 
to user for the solver instance key" },
+    "bridgeErrorHandler": { "index": 4, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming  [...]
+    "exceptionHandler": { "index": 5, "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 def [...]
+    "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
+    "async": { "index": 7, "kind": "parameter", "displayName": "Async", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Specifies to perform 
operations in async mode" },
+    "threadPoolSize": { "index": 8, "kind": "parameter", "displayName": 
"Thread Pool Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "Specifies the thread 
pool size to use when async is true" },
+    "lazyStartProducer": { "index": 9, "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 [...]
+    "solverManager": { "index": 10, "kind": "parameter", "displayName": 
"Solver Manager", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": "org.optaplanner.core.api.solver.SolverManager", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.optaplanner.OptaPlannerConfiguration", 
"configurationField": "configuration", "description": "SolverManager" }
   }
 }
diff --git 
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerComponent.java
 
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerComponent.java
index 9359be8d771..35e7e6d64e5 100644
--- 
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerComponent.java
+++ 
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerComponent.java
@@ -24,9 +24,6 @@ import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 import org.kie.api.KieServices;
 
-/**
- * OptaPlanner component for Camel
- */
 @Component("optaplanner")
 public class OptaPlannerComponent extends DefaultComponent {
 
diff --git 
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerConfiguration.java
 
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerConfiguration.java
index 19a0522dd4f..aa9da4da900 100644
--- 
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerConfiguration.java
+++ 
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerConfiguration.java
@@ -36,9 +36,9 @@ public class OptaPlannerConfiguration {
     private boolean async;
     @UriParam(label = "common", defaultValue = "1L")
     private Long problemId = 1L;
-    @UriParam(label = "configFile")
+    @UriParam(label = "common")
     private String configFile;
-    @UriParam(label = "solverManager")
+    @UriParam(label = "advanced")
     private SolverManager solverManager;
 
     public String getConfigFile() {
@@ -46,7 +46,7 @@ public class OptaPlannerConfiguration {
     }
 
     /**
-     * If SolverManager is absent from the header 
{OptaPlannerConstants.SOLVER_MANAGER} : A SolverManager will be
+     * If SolverManager is absent from the header 
OptaPlannerConstants.SOLVER_MANAGER then a SolverManager will be
      * created using this Optaplanner config file.
      */
     public void setConfigFile(String configFile) {
@@ -103,8 +103,6 @@ public class OptaPlannerConfiguration {
 
     /**
      * In case of using SolverManager : the problem id
-     *
-     * @param problemId
      */
     public void setProblemId(Long problemId) {
         this.problemId = problemId;
@@ -116,8 +114,6 @@ public class OptaPlannerConfiguration {
 
     /**
      * SolverManager
-     *
-     * @param solverManager
      */
     public void setSolverManager(SolverManager solverManager) {
         this.solverManager = solverManager;
diff --git 
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerConsumer.java
 
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerConsumer.java
index 9dd74a6150c..ecdcfd0ab63 100644
--- 
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerConsumer.java
+++ 
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerConsumer.java
@@ -20,9 +20,6 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.support.DefaultConsumer;
 
-/**
- * OptaPlanner component for Camel
- */
 public class OptaPlannerConsumer extends DefaultConsumer {
     private final OptaPlannerEndpoint endpoint;
     private final OptaPlannerConfiguration configuration;
@@ -32,8 +29,7 @@ public class OptaPlannerConsumer extends DefaultConsumer {
         super(endpoint, processor);
         this.endpoint = endpoint;
         this.configuration = configuration;
-
-        solverJobListener = this::processSolverJobEvent;
+        this.solverJobListener = this::processSolverJobEvent;
     }
 
     public void processSolverJobEvent(OptaplannerSolutionEvent event) {
@@ -42,13 +38,15 @@ public class OptaPlannerConsumer extends DefaultConsumer {
         try {
             getProcessor().process(exchange);
         } catch (Exception e) {
-            getExceptionHandler().handleException(e);
+            exchange.setException(e);
+        }
+        if (exchange.getException() != null) {
+            getExceptionHandler().handleException(exchange.getException());
         }
     }
 
     @Override
     protected void doStart() throws Exception {
-
         final Long problemId = configuration.getProblemId();
         endpoint.addSolutionEventListener(problemId, solverJobListener);
 
diff --git 
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerEndpoint.java
 
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerEndpoint.java
index 159e43d47d7..91651daabb2 100644
--- 
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerEndpoint.java
+++ 
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerEndpoint.java
@@ -83,11 +83,6 @@ public class OptaPlannerEndpoint extends DefaultEndpoint {
         return consumer;
     }
 
-    @Override
-    protected void doStart() throws Exception {
-        super.doStart();
-    }
-
     @Override
     protected void doStop() throws Exception {
         synchronized (SOLVERS) {
diff --git 
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerProducer.java
 
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerProducer.java
index 580a622272e..5b2573f41a1 100644
--- 
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerProducer.java
+++ 
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerProducer.java
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
 
 public class OptaPlannerProducer extends DefaultAsyncProducer {
 
-    private static final transient Logger LOGGER = 
LoggerFactory.getLogger(OptaPlannerProducer.class);
+    private static final Logger LOGGER = 
LoggerFactory.getLogger(OptaPlannerProducer.class);
 
     private ExecutorService executor;
     private final OptaPlannerEndpoint endpoint;
diff --git 
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaplannerSolutionEventListener.java
 
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaplannerSolutionEventListener.java
index 5b93cdec4e2..27974c73526 100644
--- 
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaplannerSolutionEventListener.java
+++ 
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaplannerSolutionEventListener.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.optaplanner;
 
 import java.util.EventListener;
 
+@FunctionalInterface
 public interface OptaplannerSolutionEventListener extends EventListener {
     void bestSolutionChanged(OptaplannerSolutionEvent event);
 }
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/OptaPlannerEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/OptaPlannerEndpointBuilderFactory.java
index 0a9d8faad56..d2b3c5c084e 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/OptaPlannerEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/OptaPlannerEndpointBuilderFactory.java
@@ -43,6 +43,22 @@ public interface OptaPlannerEndpointBuilderFactory {
         default AdvancedOptaPlannerEndpointConsumerBuilder advanced() {
             return (AdvancedOptaPlannerEndpointConsumerBuilder) this;
         }
+        /**
+         * If SolverManager is absent from the header
+         * OptaPlannerConstants.SOLVER_MANAGER then a SolverManager will be
+         * created using this Optaplanner config file.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: common
+         * 
+         * @param configFile the value to set
+         * @return the dsl builder
+         */
+        default OptaPlannerEndpointConsumerBuilder configFile(String 
configFile) {
+            doSetProperty("configFile", configFile);
+            return this;
+        }
         /**
          * In case of using SolverManager : the problem id.
          * 
@@ -88,52 +104,6 @@ public interface OptaPlannerEndpointBuilderFactory {
             doSetProperty("solverId", solverId);
             return this;
         }
-        /**
-         * If SolverManager is absent from the header
-         * {OptaPlannerConstants.SOLVER_MANAGER} : A SolverManager will be
-         * created using this Optaplanner config file.
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: configFile
-         * 
-         * @param configFile the value to set
-         * @return the dsl builder
-         */
-        default OptaPlannerEndpointConsumerBuilder configFile(String 
configFile) {
-            doSetProperty("configFile", configFile);
-            return this;
-        }
-        /**
-         * SolverManager.
-         * 
-         * The option is a:
-         * <code>org.optaplanner.core.api.solver.SolverManager</code> type.
-         * 
-         * Group: solverManager
-         * 
-         * @param solverManager the value to set
-         * @return the dsl builder
-         */
-        default OptaPlannerEndpointConsumerBuilder 
solverManager(org.optaplanner.core.api.solver.SolverManager solverManager) {
-            doSetProperty("solverManager", solverManager);
-            return this;
-        }
-        /**
-         * SolverManager.
-         * 
-         * The option will be converted to a
-         * <code>org.optaplanner.core.api.solver.SolverManager</code> type.
-         * 
-         * Group: solverManager
-         * 
-         * @param solverManager the value to set
-         * @return the dsl builder
-         */
-        default OptaPlannerEndpointConsumerBuilder solverManager(String 
solverManager) {
-            doSetProperty("solverManager", solverManager);
-            return this;
-        }
     }
 
     /**
@@ -262,6 +232,36 @@ public interface OptaPlannerEndpointBuilderFactory {
             doSetProperty("exchangePattern", exchangePattern);
             return this;
         }
+        /**
+         * SolverManager.
+         * 
+         * The option is a:
+         * <code>org.optaplanner.core.api.solver.SolverManager</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param solverManager the value to set
+         * @return the dsl builder
+         */
+        default AdvancedOptaPlannerEndpointConsumerBuilder 
solverManager(org.optaplanner.core.api.solver.SolverManager solverManager) {
+            doSetProperty("solverManager", solverManager);
+            return this;
+        }
+        /**
+         * SolverManager.
+         * 
+         * The option will be converted to a
+         * <code>org.optaplanner.core.api.solver.SolverManager</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param solverManager the value to set
+         * @return the dsl builder
+         */
+        default AdvancedOptaPlannerEndpointConsumerBuilder 
solverManager(String solverManager) {
+            doSetProperty("solverManager", solverManager);
+            return this;
+        }
     }
 
     /**
@@ -274,6 +274,22 @@ public interface OptaPlannerEndpointBuilderFactory {
             return (AdvancedOptaPlannerEndpointProducerBuilder) this;
         }
 
+        /**
+         * If SolverManager is absent from the header
+         * OptaPlannerConstants.SOLVER_MANAGER then a SolverManager will be
+         * created using this Optaplanner config file.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: common
+         * 
+         * @param configFile the value to set
+         * @return the dsl builder
+         */
+        default OptaPlannerEndpointProducerBuilder configFile(String 
configFile) {
+            doSetProperty("configFile", configFile);
+            return this;
+        }
         /**
          * In case of using SolverManager : the problem id.
          * 
@@ -379,52 +395,6 @@ public interface OptaPlannerEndpointBuilderFactory {
             doSetProperty("threadPoolSize", threadPoolSize);
             return this;
         }
-        /**
-         * If SolverManager is absent from the header
-         * {OptaPlannerConstants.SOLVER_MANAGER} : A SolverManager will be
-         * created using this Optaplanner config file.
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: configFile
-         * 
-         * @param configFile the value to set
-         * @return the dsl builder
-         */
-        default OptaPlannerEndpointProducerBuilder configFile(String 
configFile) {
-            doSetProperty("configFile", configFile);
-            return this;
-        }
-        /**
-         * SolverManager.
-         * 
-         * The option is a:
-         * <code>org.optaplanner.core.api.solver.SolverManager</code> type.
-         * 
-         * Group: solverManager
-         * 
-         * @param solverManager the value to set
-         * @return the dsl builder
-         */
-        default OptaPlannerEndpointProducerBuilder 
solverManager(org.optaplanner.core.api.solver.SolverManager solverManager) {
-            doSetProperty("solverManager", solverManager);
-            return this;
-        }
-        /**
-         * SolverManager.
-         * 
-         * The option will be converted to a
-         * <code>org.optaplanner.core.api.solver.SolverManager</code> type.
-         * 
-         * Group: solverManager
-         * 
-         * @param solverManager the value to set
-         * @return the dsl builder
-         */
-        default OptaPlannerEndpointProducerBuilder solverManager(String 
solverManager) {
-            doSetProperty("solverManager", solverManager);
-            return this;
-        }
     }
 
     /**
@@ -481,6 +451,36 @@ public interface OptaPlannerEndpointBuilderFactory {
             doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
         }
+        /**
+         * SolverManager.
+         * 
+         * The option is a:
+         * <code>org.optaplanner.core.api.solver.SolverManager</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param solverManager the value to set
+         * @return the dsl builder
+         */
+        default AdvancedOptaPlannerEndpointProducerBuilder 
solverManager(org.optaplanner.core.api.solver.SolverManager solverManager) {
+            doSetProperty("solverManager", solverManager);
+            return this;
+        }
+        /**
+         * SolverManager.
+         * 
+         * The option will be converted to a
+         * <code>org.optaplanner.core.api.solver.SolverManager</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param solverManager the value to set
+         * @return the dsl builder
+         */
+        default AdvancedOptaPlannerEndpointProducerBuilder 
solverManager(String solverManager) {
+            doSetProperty("solverManager", solverManager);
+            return this;
+        }
     }
 
     /**
@@ -494,6 +494,22 @@ public interface OptaPlannerEndpointBuilderFactory {
             return (AdvancedOptaPlannerEndpointBuilder) this;
         }
 
+        /**
+         * If SolverManager is absent from the header
+         * OptaPlannerConstants.SOLVER_MANAGER then a SolverManager will be
+         * created using this Optaplanner config file.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: common
+         * 
+         * @param configFile the value to set
+         * @return the dsl builder
+         */
+        default OptaPlannerEndpointBuilder configFile(String configFile) {
+            doSetProperty("configFile", configFile);
+            return this;
+        }
         /**
          * In case of using SolverManager : the problem id.
          * 
@@ -539,34 +555,31 @@ public interface OptaPlannerEndpointBuilderFactory {
             doSetProperty("solverId", solverId);
             return this;
         }
-        /**
-         * If SolverManager is absent from the header
-         * {OptaPlannerConstants.SOLVER_MANAGER} : A SolverManager will be
-         * created using this Optaplanner config file.
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: configFile
-         * 
-         * @param configFile the value to set
-         * @return the dsl builder
-         */
-        default OptaPlannerEndpointBuilder configFile(String configFile) {
-            doSetProperty("configFile", configFile);
-            return this;
+    }
+
+    /**
+     * Advanced builder for endpoint for the OptaPlanner component.
+     */
+    public interface AdvancedOptaPlannerEndpointBuilder
+            extends
+                AdvancedOptaPlannerEndpointConsumerBuilder,
+                AdvancedOptaPlannerEndpointProducerBuilder {
+        default OptaPlannerEndpointBuilder basic() {
+            return (OptaPlannerEndpointBuilder) this;
         }
+
         /**
          * SolverManager.
          * 
          * The option is a:
          * <code>org.optaplanner.core.api.solver.SolverManager</code> type.
          * 
-         * Group: solverManager
+         * Group: advanced
          * 
          * @param solverManager the value to set
          * @return the dsl builder
          */
-        default OptaPlannerEndpointBuilder 
solverManager(org.optaplanner.core.api.solver.SolverManager solverManager) {
+        default AdvancedOptaPlannerEndpointBuilder 
solverManager(org.optaplanner.core.api.solver.SolverManager solverManager) {
             doSetProperty("solverManager", solverManager);
             return this;
         }
@@ -576,30 +589,17 @@ public interface OptaPlannerEndpointBuilderFactory {
          * The option will be converted to a
          * <code>org.optaplanner.core.api.solver.SolverManager</code> type.
          * 
-         * Group: solverManager
+         * Group: advanced
          * 
          * @param solverManager the value to set
          * @return the dsl builder
          */
-        default OptaPlannerEndpointBuilder solverManager(String solverManager) 
{
+        default AdvancedOptaPlannerEndpointBuilder solverManager(String 
solverManager) {
             doSetProperty("solverManager", solverManager);
             return this;
         }
     }
 
-    /**
-     * Advanced builder for endpoint for the OptaPlanner component.
-     */
-    public interface AdvancedOptaPlannerEndpointBuilder
-            extends
-                AdvancedOptaPlannerEndpointConsumerBuilder,
-                AdvancedOptaPlannerEndpointProducerBuilder {
-        default OptaPlannerEndpointBuilder basic() {
-            return (OptaPlannerEndpointBuilder) this;
-        }
-
-    }
-
     public interface OptaPlannerBuilders {
         /**
          * OptaPlanner (camel-optaplanner)
diff --git 
a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/OptaplannerUriDsl.kt
 
b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/OptaplannerUriDsl.kt
index 7831f5e00b6..9559e8b4213 100644
--- 
a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/OptaplannerUriDsl.kt
+++ 
b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/OptaplannerUriDsl.kt
@@ -51,6 +51,14 @@ public class OptaplannerUriDsl(
     it.url("$problemName")
   }
 
+  /**
+   * If SolverManager is absent from the header 
OptaPlannerConstants.SOLVER_MANAGER then a
+   * SolverManager will be created using this Optaplanner config file.
+   */
+  public fun configFile(configFile: String) {
+    it.property("configFile", configFile)
+  }
+
   /**
    * In case of using SolverManager : the problem id
    */
@@ -170,14 +178,6 @@ public class OptaplannerUriDsl(
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
-  /**
-   * If SolverManager is absent from the header 
{OptaPlannerConstants.SOLVER_MANAGER} : A
-   * SolverManager will be created using this Optaplanner config file.
-   */
-  public fun configFile(configFile: String) {
-    it.property("configFile", configFile)
-  }
-
   /**
    * SolverManager
    */


Reply via email to