You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pp...@apache.org on 2025/08/21 06:51:04 UTC
(camel-quarkus) 03/03: Demote OptaPlanner extension to JVM only due to #7533
This is an automated email from the ASF dual-hosted git repository.
ppalaga pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 1dc02611ed63983c591faebbc28571ef47446f32
Author: James Netherton <ja...@gmail.com>
AuthorDate: Wed Aug 20 10:38:43 2025 +0100
Demote OptaPlanner extension to JVM only due to #7533
---
.../ROOT/examples/components/optaplanner.yml | 6 +--
.../modules/ROOT/pages/migration-guide/3.26.0.adoc | 6 +++
.../pages/reference/extensions/optaplanner.adoc | 14 +++----
extensions/optaplanner/deployment/pom.xml | 2 +
extensions/optaplanner/runtime/pom.xml | 5 +++
integration-tests/optaplanner/pom.xml | 2 +
.../optaplanner/it/SolverManagerProducers.java | 44 ++++++++++++++++++++++
integration-tests/pom.xml | 2 +-
poms/bom/pom.xml | 2 +
poms/bom/src/main/generated/flattened-full-pom.xml | 14 -------
.../src/main/generated/flattened-reduced-pom.xml | 44 ----------------------
.../generated/flattened-reduced-verbose-pom.xml | 44 ----------------------
tooling/scripts/test-categories.yaml | 2 +-
13 files changed, 71 insertions(+), 116 deletions(-)
diff --git a/docs/modules/ROOT/examples/components/optaplanner.yml b/docs/modules/ROOT/examples/components/optaplanner.yml
index 37172ea39e..a30b9bebd6 100644
--- a/docs/modules/ROOT/examples/components/optaplanner.yml
+++ b/docs/modules/ROOT/examples/components/optaplanner.yml
@@ -2,11 +2,11 @@
# This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
cqArtifactId: camel-quarkus-optaplanner
cqArtifactIdBase: optaplanner
-cqNativeSupported: true
-cqStatus: Stable
+cqNativeSupported: false
+cqStatus: Preview
cqDeprecated: false
cqJvmSince: 1.1.0
-cqNativeSince: 1.5.0
+cqNativeSince: n/a
cqCamelPartName: optaplanner
cqCamelPartTitle: OptaPlanner
cqCamelPartDescription: Solve planning problems with OptaPlanner.
diff --git a/docs/modules/ROOT/pages/migration-guide/3.26.0.adoc b/docs/modules/ROOT/pages/migration-guide/3.26.0.adoc
index b73f4dcd27..d88a05ef68 100644
--- a/docs/modules/ROOT/pages/migration-guide/3.26.0.adoc
+++ b/docs/modules/ROOT/pages/migration-guide/3.26.0.adoc
@@ -17,3 +17,9 @@ Due to `quarkus-hazelcast` 4.0.0 not being compatible with Quarkus >= 3.26.0, it
This means that any native support and any `quarkus-hazelcast` specific features are temporarily not supported with `camel-quarkus-hazelcast`.
You can continue to use the extension in JVM mode using the standard `camel-hazelcast` component functionality.
+== `optaplanner-quarkus` removed from `camel-quarkus-optaplanner`
+
+Due to `optaplanner-quarkus` 10.0.0 not being compatible with Quarkus >= 3.26.0, it has been temporarily removed from the `camel-quarkus-optaplanner` extension.
+
+This means that any native support and any `optaplanner-quarkus` specific features are temporarily not supported with `camel-quarkus-optaplanner`.
+You can continue to use the extension in JVM mode using the standard `camel-optaplanner` component functionality.
diff --git a/docs/modules/ROOT/pages/reference/extensions/optaplanner.adoc b/docs/modules/ROOT/pages/reference/extensions/optaplanner.adoc
index 9bf8076d4a..0acd1f2db3 100644
--- a/docs/modules/ROOT/pages/reference/extensions/optaplanner.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/optaplanner.adoc
@@ -4,17 +4,17 @@
= OptaPlanner
:linkattrs:
:cq-artifact-id: camel-quarkus-optaplanner
-:cq-native-supported: true
-:cq-status: Stable
-:cq-status-deprecation: Stable
+:cq-native-supported: false
+:cq-status: Preview
+:cq-status-deprecation: Preview
:cq-description: Solve planning problems with OptaPlanner.
:cq-deprecated: false
:cq-jvm-since: 1.1.0
-:cq-native-since: 1.5.0
+:cq-native-since: n/a
ifeval::[{doc-show-badges} == true]
[.badges]
-[.badge-key]##JVM since##[.badge-supported]##1.1.0## [.badge-key]##Native since##[.badge-supported]##1.5.0##
+[.badge-key]##JVM since##[.badge-supported]##1.1.0## [.badge-key]##Native##[.badge-unsupported]##unsupported##
endif::[]
Solve planning problems with OptaPlanner.
@@ -29,10 +29,6 @@ Please refer to the above link for usage and configuration details.
[id="extensions-optaplanner-maven-coordinates"]
== Maven coordinates
-https://{link-quarkus-code-generator}/?extension-search=camel-quarkus-optaplanner[Create a new project with this extension on {link-quarkus-code-generator}, window="_blank"]
-
-Or add the coordinates to your existing project:
-
[source,xml]
----
<dependency>
diff --git a/extensions/optaplanner/deployment/pom.xml b/extensions/optaplanner/deployment/pom.xml
index 9636204c8f..f4890cad4d 100644
--- a/extensions/optaplanner/deployment/pom.xml
+++ b/extensions/optaplanner/deployment/pom.xml
@@ -38,6 +38,7 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-optaplanner</artifactId>
</dependency>
+ <!-- TODO: Restore when optaplanner-quarkus > 10.0.0 is available - https://github.com/apache/camel-quarkus/issues/7533
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus-deployment</artifactId>
@@ -46,6 +47,7 @@
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus-jackson-deployment</artifactId>
</dependency>
+ -->
</dependencies>
<build>
diff --git a/extensions/optaplanner/runtime/pom.xml b/extensions/optaplanner/runtime/pom.xml
index 54c10bbd2e..dfba8775c3 100644
--- a/extensions/optaplanner/runtime/pom.xml
+++ b/extensions/optaplanner/runtime/pom.xml
@@ -32,7 +32,10 @@
<properties>
<camel.quarkus.jvmSince>1.1.0</camel.quarkus.jvmSince>
+ <!-- TODO: Restore / remove when optaplanner-quarkus > 10.0.0 is available - https://github.com/apache/camel-quarkus/issues/7533
<camel.quarkus.nativeSince>1.5.0</camel.quarkus.nativeSince>
+ -->
+ <quarkus.metadata.nativeSupported>false</quarkus.metadata.nativeSupported>
</properties>
<dependencies>
@@ -44,6 +47,7 @@
<groupId>org.apache.camel</groupId>
<artifactId>camel-optaplanner</artifactId>
</dependency>
+ <!-- TODO: Restore when optaplanner-quarkus > 10.0.0 is available - https://github.com/apache/camel-quarkus/issues/7533
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus</artifactId>
@@ -52,6 +56,7 @@
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus-jackson</artifactId>
</dependency>
+ -->
</dependencies>
<build>
diff --git a/integration-tests/optaplanner/pom.xml b/integration-tests/optaplanner/pom.xml
index 7c0246e082..4a6b26e29e 100644
--- a/integration-tests/optaplanner/pom.xml
+++ b/integration-tests/optaplanner/pom.xml
@@ -71,6 +71,7 @@
</dependencies>
<profiles>
+ <!-- TODO: Restore when optaplanner-quarkus > 10.0.0 is available - https://github.com/apache/camel-quarkus/issues/7533
<profile>
<id>native</id>
<activation>
@@ -98,6 +99,7 @@
</plugins>
</build>
</profile>
+ -->
<profile>
<id>virtualDependencies</id>
<activation>
diff --git a/integration-tests/optaplanner/src/main/java/org/apache/camel/quarkus/component/optaplanner/it/SolverManagerProducers.java b/integration-tests/optaplanner/src/main/java/org/apache/camel/quarkus/component/optaplanner/it/SolverManagerProducers.java
new file mode 100644
index 0000000000..96f23f430e
--- /dev/null
+++ b/integration-tests/optaplanner/src/main/java/org/apache/camel/quarkus/component/optaplanner/it/SolverManagerProducers.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.component.optaplanner.it;
+
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Singleton;
+import org.apache.camel.quarkus.component.optaplanner.it.domain.Lesson;
+import org.apache.camel.quarkus.component.optaplanner.it.domain.TimeTable;
+import org.apache.camel.quarkus.component.optaplanner.it.solver.TimeTableConstraintProvider;
+import org.optaplanner.core.api.solver.SolverFactory;
+import org.optaplanner.core.api.solver.SolverManager;
+import org.optaplanner.core.config.solver.SolverConfig;
+import org.optaplanner.core.config.solver.termination.TerminationConfig;
+
+/**
+ * Replicates optaplanner-quarkus configuration from application.properties
+ *
+ * TODO: Remove when optaplanner-quarkus > 10.0.0 is available - https://github.com/apache/camel-quarkus/issues/7533
+ */
+@ApplicationScoped
+public class SolverManagerProducers {
+ @Singleton
+ SolverManager<TimeTable, Long> solverManager() {
+ return SolverManager.create(SolverFactory.create(new SolverConfig()
+ .withSolutionClass(TimeTable.class)
+ .withEntityClasses(Lesson.class)
+ .withConstraintProviderClass(TimeTableConstraintProvider.class)
+ .withTerminationConfig(new TerminationConfig().withBestScoreLimit("0hard/*soft").withSecondsSpentLimit(30L))));
+ }
+}
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 0b211545b0..76cd67d370 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -183,7 +183,7 @@
<module>openstack</module>
<module>opentelemetry</module>
<module>opentelemetry2</module>
- <!-- <module>optaplanner</module> -->
+ <module>optaplanner</module>
<module>paho</module>
<module>paho-mqtt5</module>
<module>pdf</module>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 162f096bda..37805a76c4 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -2302,6 +2302,7 @@
<artifactId>camel-optaplanner</artifactId>
<version>${camel.version}</version>
<exclusions>
+ <!-- TODO: Restore when optaplanner-quarkus > 10.0.0 is available - https://github.com/apache/camel-quarkus/issues/7533
<exclusion>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-core</artifactId>
@@ -2314,6 +2315,7 @@
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-common</artifactId>
</exclusion>
+ -->
</exclusions>
</dependency>
<dependency>
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml b/poms/bom/src/main/generated/flattened-full-pom.xml
index 33eadca343..f77e5c25de 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -2217,20 +2217,6 @@
<groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-optaplanner</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>4.14.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <exclusions>
- <exclusion>
- <groupId>org.optaplanner</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>optaplanner-core</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </exclusion>
- <exclusion>
- <groupId>org.optaplanner</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>optaplanner-core-impl</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </exclusion>
- <exclusion>
- <groupId>org.optaplanner</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>optaplanner-persistence-common</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </exclusion>
- </exclusions>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml b/poms/bom/src/main/generated/flattened-reduced-pom.xml
index 7ce4131abd..6310d65f8c 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -2207,20 +2207,6 @@
<groupId>org.apache.camel</groupId>
<artifactId>camel-optaplanner</artifactId>
<version>4.14.0</version>
- <exclusions>
- <exclusion>
- <groupId>org.optaplanner</groupId>
- <artifactId>optaplanner-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.optaplanner</groupId>
- <artifactId>optaplanner-core-impl</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.optaplanner</groupId>
- <artifactId>optaplanner-persistence-common</artifactId>
- </exclusion>
- </exclusions>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
@@ -7657,26 +7643,6 @@
<artifactId>opensearch-rest-client</artifactId>
<version>3.1.0</version>
</dependency>
- <dependency>
- <groupId>org.optaplanner</groupId>
- <artifactId>optaplanner-quarkus</artifactId>
- <version>10.0.0</version>
- </dependency>
- <dependency>
- <groupId>org.optaplanner</groupId>
- <artifactId>optaplanner-quarkus-deployment</artifactId>
- <version>10.0.0</version>
- </dependency>
- <dependency>
- <groupId>org.optaplanner</groupId>
- <artifactId>optaplanner-quarkus-jackson</artifactId>
- <version>10.0.0</version>
- </dependency>
- <dependency>
- <groupId>org.optaplanner</groupId>
- <artifactId>optaplanner-quarkus-jackson-deployment</artifactId>
- <version>10.0.0</version>
- </dependency>
<dependency>
<groupId>org.snakeyaml</groupId>
<artifactId>snakeyaml-engine</artifactId>
@@ -9064,16 +9030,6 @@
<artifactId>affinity</artifactId>
<version>3.23.3</version>
</dependency>
- <dependency>
- <groupId>com.hazelcast</groupId>
- <artifactId>quarkus-hazelcast-client</artifactId>
- <version>4.0.0</version>
- </dependency>
- <dependency>
- <groupId>com.hazelcast</groupId>
- <artifactId>quarkus-hazelcast-client-deployment</artifactId>
- <version>4.0.0</version>
- </dependency>
<dependency>
<groupId>org.smooks</groupId>
<artifactId>smooks-core</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
index bafb7326d7..439d881c53 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -2207,20 +2207,6 @@
<groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-optaplanner</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>4.14.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <exclusions>
- <exclusion>
- <groupId>org.optaplanner</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>optaplanner-core</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </exclusion>
- <exclusion>
- <groupId>org.optaplanner</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>optaplanner-core-impl</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </exclusion>
- <exclusion>
- <groupId>org.optaplanner</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>optaplanner-persistence-common</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </exclusion>
- </exclusions>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -7657,26 +7643,6 @@
<artifactId>opensearch-rest-client</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>3.1.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
- <dependency>
- <groupId>org.optaplanner</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>optaplanner-quarkus</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>10.0.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
- <dependency>
- <groupId>org.optaplanner</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>optaplanner-quarkus-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>10.0.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
- <dependency>
- <groupId>org.optaplanner</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>optaplanner-quarkus-jackson</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>10.0.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
- <dependency>
- <groupId>org.optaplanner</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>optaplanner-quarkus-jackson-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>10.0.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
<dependency>
<groupId>org.snakeyaml</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>snakeyaml-engine</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -9064,16 +9030,6 @@
<artifactId>affinity</artifactId><!-- com.hazelcast:quarkus-hazelcast-client-bom:4.0.0 -->
<version>3.23.3</version><!-- com.hazelcast:quarkus-hazelcast-client-bom:4.0.0 -->
</dependency>
- <dependency>
- <groupId>com.hazelcast</groupId><!-- com.hazelcast:quarkus-hazelcast-client-bom:4.0.0 -->
- <artifactId>quarkus-hazelcast-client</artifactId><!-- com.hazelcast:quarkus-hazelcast-client-bom:4.0.0 -->
- <version>4.0.0</version><!-- com.hazelcast:quarkus-hazelcast-client-bom:4.0.0 -->
- </dependency>
- <dependency>
- <groupId>com.hazelcast</groupId><!-- com.hazelcast:quarkus-hazelcast-client-bom:4.0.0 -->
- <artifactId>quarkus-hazelcast-client-deployment</artifactId><!-- com.hazelcast:quarkus-hazelcast-client-bom:4.0.0 -->
- <version>4.0.0</version><!-- com.hazelcast:quarkus-hazelcast-client-bom:4.0.0 -->
- </dependency>
<dependency>
<groupId>org.smooks</groupId><!-- org.smooks:smooks-bom:2.2.1 -->
<artifactId>smooks-core</artifactId><!-- org.smooks:smooks-bom:2.2.1 -->
diff --git a/tooling/scripts/test-categories.yaml b/tooling/scripts/test-categories.yaml
index b490b0e1e0..4f9ca867e1 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -129,7 +129,7 @@ group-07:
- lumberjack
- ognl
- olingo4
- #- optaplanner
+ - optaplanner
- pg-replication-slot
- splunk-hec
- sjms2-artemis-client