6.4. 指定 OptaPlanner 域访问
默认情况下,OptaPlanner 使用反映访问您的域。与直接访问相比,反映是可靠的,但会慢。或者,您可以配置 OptaPlanner 以使用 Gizmo 访问域,这将生成字节码来直接访问域的字段和方法,而无需反映。但是,此方法有以下限制:
- 规划注解只能在公共字段和公共 getters 上。
-
io.quarkus.gizmo:gizmo
必须位于 classpath 上。
注意
当您将 OptaPlanner 与 Quarkus 搭配使用时,这些限制不适用,因为 Gizmo 是默认域访问类型。
流程
要在 Quarkus 之外使用 Gizmo,请在 solver 配置中设置 domainAccessType
:
<solver> <domainAccessType>GIZMO</domainAccessType> </solver>
<solver>
<domainAccessType>GIZMO</domainAccessType>
</solver>