我试图使用Drools作为语法映射框架的语法关系的规则引擎。规则库现在甚至超过了5000条规则,并且会得到扩展。在使用Drools时,每次程序运行时,读取包含规则和创建知识库的drl文件都需要很长时间。有没有办法一次创建知识库并将其保存为一些可以快速加载的持久格式,只有在更改后才能重新生成知识库?快速加载drools知识库
4
A
回答
2
是的,drools可以将知识库序列化到外部存储,然后再次加载该序列化的知识库。
因此,您需要一个从drl加载,编译,序列化的循环。然后是使用序列化版本的第二个周期。
我已经使用这一点,取得了一些成功,减少1分钟30加载时间下降到15-20秒左右。此外,它也减少了堆/烫发的要求。
检查API的确切方法。
0
我的第一个想法是尽可能长时间保持知识基础。除非您从不同的规则集合创建多个知识库,并且可能的组合太多,否则请牢记这些知识库。在我工作的一个应用程序中,一个知识库具有所有规则,因此我们将它视为单例。
但是,如果这是不可能的,或者您的应用程序不是那么长时间运行,我不知道Drools本身提供了任何加快速度的方法。通过调试器运行Drools 5.0项目,我发现KnowledgeBase Drools为我提供了Serializable。我想,反序列化KnowledgeBase比重新解析规则要快。但要小心设计你的应用程序!您使用接口是出于某种原因,实现可能会在没有警告的情况下更改
相关问题
- 1. Drools知识库文章大小
- 2. 快速ArrayList加载
- 3. 关于POCO的一些快速知识
- 4. verbot 5 sdk - 加载知识库
- 5. 快速加载网页
- 6. 加载JSON图像快速
- 7. 快速文件加载python
- 8. 快速加载数据
- 9. 快速加载MKITView到UITableViewCell
- 10. 路由器快速加载
- 11. JavaScript加载速度更快?
- 12. 加载UIImagePickerController速度更快?
- 13. 无法发布Drools知识会话
- 14. 应坚持Drools的知识会话
- 15. Drools为什么StatefulKnowledgeSession有不同的知识库
- 16. 知识构建器错误后,Drools不会重新加载规则
- 17. 加快PDF的感知下载/生成速度
- 18. 加快网站加载速度
- 19. 如何使用jena快速加载ontolgy?
- 20. 快速加载文本到excel
- 21. 从SD卡快速加载图像
- 22. 快速加载矩阵[numpy的/爪哇]
- 23. 快速加载流 - HTML/HTML5/Javascript
- 24. 安卓快速位图加载
- 25. iOS快速加载图片的技巧
- 26. 如何快速加载音乐
- 27. bower_components未加载快速静态
- 28. C#XNA快速像素加载
- 29. 如何快速加载jquery nicescroll
- 30. 快速有效的数据加载