首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >接收Drools逻辑收回事件的通知

接收Drools逻辑收回事件的通知
EN

Stack Overflow用户
提问于 2010-08-11 03:03:39
回答 1查看 645关注 0票数 1

我有一个用于执行数据模型验证的知识库。来自UI的修改事件被异步发送到一个单独的线程,该线程更新知识库并触发规则。验证错误会触发错误对象的逻辑插入。我可以收集这些并将事件异步发送回UI线程。但是,为了使UI更容易保持最新,我还希望在用户修复错误时发布一个事件-即,当错误对象从知识库中撤回时。

关于如何做到这一点,我有两个想法,这两个我都不喜欢:

我可以从过程代码中监听工作内存事件,但这会违反知识库中验证功能的封装。

或者,我可以插入一个与错误对象的逻辑插入配对的标志对象,并编写一个规则来检测未配对的标志,收回它们,并激发"error fixed“事件。

有没有一种干净而简单的方法来激活基于上述错误对象的逻辑撤回的规则?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-22 21:56:39

自我回答,这样我以后就可以链接到这个网站,看看有没有更好的方法。

以下是我最终采取的方法:

  1. 当验证规则被触发时,标记一个具有代表验证错误的唯一id的对象(例如,ValidationMessage).
  2. ValidationMessage有一个属性“insertLogical”,默认为false。
  3. 定义了一个在存在未标记的ValidationMessages时触发的规则。)在RHS中,标记消息并对全局事件处理程序进行onAssert调用。插入与ValidationMessage.
  4. Define具有相同id的第二个对象(例如ValidationMessageFlag),当不存在对应的ValidationMessageFlag (具有相同id )时,该规则会在存在ValidationMessage时触发。在RHS中,在全局事件处理程序中调用onRetract。收回ValidationMessageFlag.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3452469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档