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 */