流口水的事实让人流口水

时间:2013-10-09 07:10:18

标签: drools drools-guvnor

我正在尝试将Guvnor独立规则编辑器集成到现有应用程序中。该应用程序现在允许上传drl文件。我正在寻找集成Guvnor编辑器,以便用户可以从应用程序创建或编辑规则。我面临的问题是,应用程序允许用户输入规则字段并存储在db中。在运行时检索字段。没有可用的模型类。我无法弄清楚是否可以使用这些字段动态填充Guvnor编辑器中显示的事实。

非常感谢任何帮助。谢谢!!

1 个答案:

答案 0 :(得分:0)

Drools规则通过匹配事实来实现,事实只是Java类。 Java不是动态语言,因此您不能只是向类添加方法。因此,你需要做一些不同的事情。

最简单的解决方案是拥有一个包含键/值对的HashMap的基本事实。然后可以编写规则以匹配该集合中的值。这里的缺点是引擎不会对这些值的变化作出反应。

对于真正动态的事实,基于用户模型为声明性事实生成DRL代码并不困难。然后,您可以将这些加载到知识库中并根据它们编写规则。