OptaPlanner 9 Here is Everything You Need To Know

Posted By : Anirudh Bhardwaj | August 24, 2023
OptaPlanner remains one of the most sought-after software tools for developing custom, Java-based planning solutions to overcome diverse industry-specific challenges. Being an AI constraint solver, it helps businesses solve various optimization problems through advanced heuristic and metaheuristic algorithms. There have been several editions of this embeddable planning engine, the latest one being OptaPlanner 9. With the ninth edition, OptaPlanner brings several notable enhancements and it helps users migrate to Jakarta EE, Quarkus 3, and Spring Boot 3.

In this blog post, we shall examine the notable differences between OptaPlanner 8 and OptaPlanner 9. Subsequently, you will learn how to migrate from OptaPlanner 8 to OptaPlanner 9 with minimal complexities. 

 

Also, Read Upgrading Your OptaPlanner Project: A Step-by-Step Guide

OptaPlanner 9 Here is Everything You Need To Know

 

What's New In OptaPlanner 9?

It has been several weeks since the latest edition of OptaPlanner ver. 9.37.0 was rolled out. Although the core functionality remains the same, OptaPlanner brings a couple of exceptions and enhancements, making it different from the previous versions. Those who wish to migrate from ver. 8 to 9 may use an automated script that is available on the OptaPlanner website. However, OptaPlanner 8 will remain functional for the time being and users may continue using it as well. 

 

Notable Differences Between OptaPlanner 8 and 9

Both OptaPlanner 8 and 9 have many similarities and the same number of features. Besides, both editions are fully compatible with their respective APIs. There are, however, a couple of notable differences between the two, thanks to the package-level changes brought in by Jakarta EE 10 that impact the whole Java ecosystem. 

Below is a tabular representation that summarizes the framework compatibility of OptaPlanner 8 vs OptaPlanner 9:

Framework OptaPlanner 8 OptaPlanner 9
Jakarta EE 8 (via Quarkus) 10 (via Quarkus)
Quarkus 2 3
Spring Boot 2 3

When used together with Quarkus, the ninth edition of OptaPlanner does not support DRL score calculation as it has been deprecated. It is, therefore, essential to migrate to the constraint streams API if you want to use DRL score calculation. At the same time, the latest edition (ver. 9.37.0) discontinues its support for the AbstractScoreHibernateType and its subtypes. 

 

Also, Read The Top Industrial Use Cases of OptaPlanner

 

Migrating To OptaPlanner 9

The process of migrating to OptaPlanner 9 will be fairly simple and straightforward for users who do not use Quarkus or Spring Boot. These users only need to change a version of the optaplanner-bom simply using the following command to change dependencies. 

 

<dependency>

    <groupId>org.optaplanner</groupId>

    <artifactId>optaplanner-bom</artifactId>

    <version>9.37.0.Final</version>

    <type>pom</type>

    <scope>import</scope>

</dependency>

 

However, the process is a bit more complex for Quarkus or Spring Boot users. These users need to follow the steps mentioned below:

  • First of all, we need to replace all imports of javax. packages with their jakarta. equivalents. As such, we need to make suitable changes to dependencies. 
  • We need to change the Quarkus 2 dependencies to that of Quarkus 3. 
  • Finally, we are required to change dependencies on Spring Boot 2 to Spring Boot 3. However, a migration to Java 17 is also quintessential in the case of Spring Boot 3. 

For faster response, you may run the following commands in your project's root directory. 

mvn clean org.openrewrite.maven:rewrite-maven-plugin:4.43.0:run

   -Drewrite.recipeArtifactCoordinates=org.optaplanner:optaplanner-migration:9.37.0.Final

   -Drewrite.activeRecipes=org.optaplanner.migration.ToLatest9

 

Also, Read OptaPlanner Development Services For Improved Employee Roster Management

 

Closing Remarks

Now that we have discussed the changes and enhancements coming to OptaPlanner 9, you must be wondering what are the key driving factors as well. The main reason for introducing OptaPlanner 9 was the migration from Java EE APIs to Jakarta EE for projects like Quarkus and Spring Boot. That said, OptaPlanner 9 was designed to provide an effective way to seamlessly integrate these changes without impacting its users' experience. 

 

Avail Our OptaPlanner Development Services To Streamline Your Business Processes 

We, at Oodles, provide end-to-end enterprise solutions to steer clear of your routine operational challenges. Our seasoned developers specialize in using OptaPlanner to develop custom and feature-rich planning solutions for varying business needs. Our OptaPlanner development services are conducive to streamlining complex business processes and building resilience. Contact us at [email protected] for more details. 

 

guest
0 Comments
Inline Feedbacks
View all comments

Latest Blogs