global-variables - optaplanner 中的全局变量
问题描述
在 drools 规则文件中,如何为 optaplanner 设置(或初始化)全局变量的值。我的用例如下:
我想声明一个全局 Java 映射,它是常量并且在执行期间不会改变。每个规则都将访问映射以检查值,如果值在映射中,则规则将评估为 false。通过访问文件/数据库中的数据,在执行开始之前生成地图。
此链接https://issues.jboss.org/browse/PLANNER-94也请求访问全局变量,但此功能现在被拒绝。
如何使用此链接中定义的 hack:在 Drools 规划器中设置工作内存中的全局变量,我应该从哪个对象获取 CustomSolverPhaseCommand?[我还不能对这篇文章发表评论,因为我没有足够的声誉,如果这似乎是重复的问题,对不起]。
我正在从 xml 资源创建 SolverFactory,并且 xml 文件包含 .drl 文件的路径。就像在 .drl 中我们可以访问对象 HardSoftScoreHolder scoreHolder 一样,我想在规则的“then”部分以相同的方式访问地图。
有人可以帮忙吗?
解决方案
查看具有以Parameterization
代替结尾的类的示例,例如ConferenceParametrization
,这可能是比全局更好的选择。
推荐阅读
- sql - FF6 格式的时间戳。需要 Hive UDF 或 RegExp
- c# - 母版页无限加载
- java - 从 Arraylist 动态添加视图
- r - lapply & sapply 在 data.frame 上测试每列中的所有元素以获得单个逻辑
- java - 如何正确生成基于正确类的动态代理类?
- rest - Springboot 不允许通过 URL 中的百分比和反斜杠
- java - Salesforce 精确目标端点调用
- symfony - Sonata 管理员列表字段模板被忽略
- jmeter - 错误:UnicodeDecodeError:'charmap' - Taurus
- reactjs - 反应项目 WAR 文件