如何在 Optaplanner 规划项目的 .drl 文件中使用 spring 引导服务 class?

how can I use spring boot Service class in .drl files in Optaplanner Planning projects?

不在drools 项目,就在Optaplanner 规划项目。 带有 drools 引擎的 Optaplanner!!! use spring boot service classs in drools project

这里有关于这个问题的更多信息 code structure

这里是drl文件中服务的函数

rule "RuleLimosis"
when
    ViewPatient($RevId:Id,$PatientID:PatientID, PatientID != null)
then
    boolean limosisFlag = viewPatientService.getChecklistLimosis($RevId);
    System.out.println("empty stomach status: " + limosisFlag);

结束

运行时信息在规划解决方案中使用@ProblemFactProperty class

1 System.out.println(“在 java 文件中 viewPatientService 是:” + viewPatientService);

2 System.out.println("在 drl 文件中 viewPatientService 是:" + viewPatientService);

代码 1 的值正确 代码 2 空

您可以将服务包装在 class 中,并在规划解决方案中创建该包装器 class 的 @ProblemFactProperty 字段。

但是您的限制不应该是调用远程服务,因为这会削弱您的分数计算速度。