我的项目中有一个要求,我需要从基于 Web 的自定义 UI 操作 Drools 引导决策表内容(只是数据而不是结构)。
我进行了很多搜索,但在 Drools 中找不到任何可以访问引导决策表的 Java 或 REST API。
如有任何帮助,我们将不胜感激。
最佳答案
我假设您正在谈论 kie-workbench 中的指导决策表。
据我所知,没有公共(public) API 可以操作引导决策表,但是您可以做另一件事。 kie-workbench 中的每个项目实际上都是保存在本地 git 存储库中的 Maven 项目。好消息是,您实际上可以制作 clone of that repository .
获得项目的本地克隆后,您可以将要修改的引导决策表定位为扩展名为 .gdst
的文件。
例如,这是 kie-workbench 附带的 uf-playground 示例项目的目录结构:
在上面的屏幕截图中,您可以看到一个 Pricing Loans.gdst
文件。该文件的内容是一个 xml,其中包含“定价贷款”指导决策表的结构和数据。
这就是事情变得有趣的地方。如果您深入研究 kie-workbench 代码,我相信您会发现某种未记录且非常不稳定的 API 来处理这些 .gdst 文件。毕竟,kie-workbench 实际上是在创建和修改这些文件。这里的挑战是:
- 查找此 API
- 了解此 API
另一种解决方案,从技术角度来看可能不是最好的,但对于数据操作等简单的事情更容易实现,那就是解析和修改这些 .gdst
文件使用 XML 库。
完成更改后,您可以将它们推送回 kie-workbench,并且 GUI 用户可以使用它们。
当然,这两种建议的解决方案都不是理想的。使用不适合第三方使用且 future 肯定会改变的未记录的 API 听起来可能不是一个好主意。但是,手动解析 XML 文件(其语义可能在不同版本的 kie-workbench 上发生变化)也带来了一些挑战。
希望对你有帮助
关于java - 如何在 Drools 中通过 Java API 操作引导决策表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34810758/