当前位置: 首页 > 知识库问答 >
问题:

响应DROOLS中规则的专用对象

申屠秦斩
2023-03-14

在drool引擎中,如何在THEN部分中将新对象作为响应填充?我希望用另一个专用对象返回答案,而不是LiabilityRequestDto。谢谢你的帮助

rule "validate Date"
salience 100
    when
    
    $req : LiabilityRequestDto(expireAt before issueAt || issueAt before getNow())
    
    then
           $req.setResultMessage("\\n"+" invalid date");
           $req.setIsValid(false);
end;

共有1个答案

凌照
2023-03-14

要获取新对象,必须在“fire allrules”命令之后使用“kiesession.getObject”,如下所示:

kieSession.fireAllRules()
kieSession.getObject(factHandle)
 类似资料:
  • 我有两个事实,分别命名为OptionalCover和OptionalPremiumComponent,其中有OptionalPremiumComponent的参考。这就是我在工作记忆中插入的内容。 我在drools中创建了以下规则 问题是,插入父对象时没有触发上述规则。我还需要做些什么来实现这种行为吗?是否支持? 谢谢你。

  • 我的步骤事件有以下字段:

  • 这似乎是一个关于口水的流行问题。。。 我在drools workbench和一个简单的java应用程序上创建了一些规则来与之通信。 我能够连接到工作台(身份验证等),我可以从规则集中检索名称,但我的“fireAllRules()”指令返回零,对我的对象没有影响。 然而,当我在本地添加完全相同的规则(.drl文件)时,它运行平稳,结果正确。 有什么想法吗? 规则(工作台和本地): Java代码(用于

  • 我是规则引擎新手,我的应用程序需要从文件系统动态加载xml文件中的规则,因为管理员可以在运行时创建规则。(Java) 我的问题是:有没有可能流口水?如果是,那么请分享知识,如果不是,那么还有其他选择吗?

  • 我的问题是: 在Drools规则中,有没有一种方法可以拦截“成功”事件?为了更好地解释。。。有一种方法可以在规则的所有条件都为真时调用侦听器? 注意:我不想设置一个全局对象(在会话上)来管理规则的“然后”子句中的这个条件。 我正在寻找一个已经在Drools上实现的解决方案 规则示例