我们可以在 Springboot optaplanner 中使用多个 @PlanningSolution 类 和多个 SolverManager

can we use multiple @PlanningSolution classes and multiple SolverManager in Springboot optaplanner

对于使用 optaplanner-spring-boot-starter 的 Springboot 应用程序,云平衡问题解决方案与一个规划解决方案和 solverManager 类似,效果很好 https://github.com/DuncanDoyle/optaplanner-sbs-cloud-balancing/tree/master/optaplanner-sbs ,但是当使用 solverManager 定义并调用多个规划解决方案时,它会抛出错误

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'solverFactory' defined in class path resource [org/optaplanner/spring/boot/autoconfigure/OptaPlannerAutoConfiguration.class]: Unsatisfied dependency expressed through method 'solverFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'solverConfig' defined in class path resource [org/optaplanner/spring/boot/autoconfigure/OptaPlannerAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.optaplanner.core.config.solver.SolverConfig]: Factory method 'solverConfig' threw exception; nested exception is java.lang.IllegalStateException: Multiple classes ([class com.test.model.PRCaseAssignment, class com.test.model.CaseAssignment]) found with a @PlanningSolution annotation.

我们如何定义多个@PlanningSolution 类 并使用solverManager 调用,是否有任何类型的Qualifiers 需要注释?任何帮助表示赞赏。谢谢

请问有多个解决方案的用例是什么classes?

optaplanner-spring-boot-starter 仅支持单一求解器配置,因此仅支持单一解决方案 class。 SolverManager API 也是如此:您可以向 SolverManager 提交多个规划问题,但它们必须属于同一类型(解决方案 class)并共享相同的求解器配置。要提交不同类型的规划问题,您必须创建 SolverManager 的新实例。请参阅 documentation 以了解如何手动创建 SolverManager 的实例。