7.4. OptaPlanner ドメインアクセスの指定
デフォルトでは、OptaPlanner はリフレクションを使用してドメインにアクセスします。リフレクションは信頼性がありますが、直接アクセスに比べると遅くなります。または、Gizmo を使用してドメインにアクセスするように OptaPlanner を設定できます。これにより、リフレクションなしにドメインのフィールドとメソッドに直接アクセスするバイトコードが生成されます。ただし、この手法には以下の制限があります。
- プランニングアノテーションは、パブリックフィールドおよびパブリック getter でのみ指定できます。
-
io.quarkus.gizmo:gizmo
はクラスパス上にある必要があります。
注記
Gizmo がデフォルトのドメインアクセスタイプであるため、Quarkus で OptaPlanner を使用する場合、これらの制限は適用されません。
手順
Quarkus の外部にある Gizmo を使用するには、ソルバー設定で domainAccessType
を設定します。
<solver> <domainAccessType>GIZMO</domainAccessType> </solver>