将自定义Forager与OptaPlanner一起使用时,XStream ForbiddenClassException

时间:2018-01-10 12:08:35

标签: optaplanner

我最近将optaplanner版本从7.0.0升级到版本7.4.1。我使用配置文件中声明的自定义Forager,如下所示:

InputStream is = getContentResolver().openInputStream(resultData.getData());

以前的OptaPlanner版本没有任何麻烦,但升级后我在OptaPlanner读取config.xml文件时遇到了问题:

...
<forager class="com.mycompany.MyCustomForagerConfig">
            <acceptedCountLimit>100</acceptedCountLimit>
</forager>
...

对于最新版本(7.5.0),这似乎与此问题https://issues.jboss.org/browse/PLANNER-896(已解决)有些相关,所以我尝试升级但问题仍然存在。

感谢。

1 个答案:

答案 0 :(得分:0)

在MyCustomForagerConfig上添加@XStreamAlias并执行以下操作:

((XStreamXmlSolverFactory) solverFactory).addXStreamAnnotations(MyCustomForagerConfig.class);

出于好奇,你为什么需要定制觅食者?它是否添加了OptaPlanner应该开箱即用的功能?