首页 > 解决方案 > 将自动连线 SolverManager 与 Optaplanner 一起使用时,如何访问 scoreDirector?

问题描述

我正在使用带有 optaplanner-spring-boot-starter jar 的 autowired SolverManager

@Autowired
    private SolverManager<BatchSolution, UUID> solverManager;

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

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

在以前的版本中,我使用:

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

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

标签: optaplanner

解决方案


我们计划在以下内容中公开此功能ScoreManager

@Autowired
ScoreManager<MySolution> scoreManager;

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

同时,只需通过自动装配SolverFactory和使用来解决它,ScolverFactory.getScoreDirectorFactory()直到我们弃用ScoreManagerAPI 替换该功能。


推荐阅读