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