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