6.4. 指定 OptaPlanner 域访问

默认情况下,OptaPlanner 使用反映访问您的域。与直接访问相比,反映可靠,但速度较慢。或者,您可以将 OptaPlanner 配置为使用 Gizmo 访问您的域,这将生成字节码,直接访问域的字段和方法,而无需反映。但是,此方法有以下限制:

  • planning 注解只能位于公共字段和公共 getters 上。
  • io.quarkus.gizmo:gizmo 必须位于 classpath 上。
注意

当您将 OptaPlanner 与 Quarkus 搭配使用时,这些限制不适用,因为 Gizmo 是默认的域访问类型。

流程

要使用 Quarkus 之外的 Gizmo,请在 solver 配置中设置 domainAccessType

  <solver>
    <domainAccessType>GIZMO</domainAccessType>
  </solver>