我正在尝试了解Drools的 N Queens 和 Cloud Balancer 示例。我深入研究了手册的第3章和第4章以及两个例子的来源。
我(错)了解
问题1 :在示例中,规划实体和问题事实类的对象在哪里已初始化?
例如,当我加载云平衡时,我看到了:
2012 .. INFO Loaded: data/cloudbalancing/unsolved/cb-0002comp-0006proc.xml
这意味着序列化格式转换为真实对象并送入解决方案吗?
问题2 :规划实体在哪里处理?
该评论的含义是什么?首先如何处理?
public Collection<? extends Object> getProblemFacts() {
List<Object> facts = new ArrayList<Object>();
facts.addAll(columnList);
facts.addAll(rowList);
// Do not add the planning entity's (queenList) because that will be done automatically
答案 0 :(得分:1)
Q1:在NQueensGenerator
,CurriculumCourseSolutionImporter
,......中创建的计划实例,然后使用XStream序列化为XML文件。加载按钮只是从XML反序列化它们。如果要调试*SolutionImporter
,请使用导入按钮(并非在所有示例中都可用)。
Q2:这意味着getProblemFacts()不应该执行facts.addAll(queenList)。 由于此注释,Planner会自动执行此操作:
@PlanningEntityCollectionProperty
public List<Queen> getQueenList() {
return queenList;
}