将自动装配的 SolverManager 与 Optaplanner 一起使用时如何访问 scoreDirector?

How is the scoreDirector accessed when using the autowired SolverManager with Optaplanner?

我正在使用自动装配的 SolverManager 和 optaplanner-spring-boot-starter jar

@Autowired
    private SolverManager<BatchSolution, UUID> solverManager;

并希望使用以下方式报告约束:

Map<Object, Indictment> indictmentMap = guiScoreDirector.getIndictmentMap();

在以前的版本中我使用:

ScoreDirectorFactory<Solution_> scoreDirectorFactory = solver.getScoreDirectorFactory();
guiScoreDirector = scoreDirectorFactory.buildScoreDirector();

并且在示例中看不到如何通过 solverManager 访问 scoreDirector。

我们计划在 ScoreManager:

中公开此功能
@Autowired
ScoreManager<MySolution> scoreManager;

但是 API 还不支持 getIndictmentMap(Solution_)。这是一个 API 差距。

与此同时,通过自动装配 SolverFactory 并使用 ScolverFactory.getScoreDirectorFactory() 来解决它,直到我们弃用一旦 ScoreManager API 替换该功能。