在JBPM中插入大量事实以进行规则匹配,一旦规则匹配,我就会采取适当的措施。事实的数量将是众多的,内存中的大小为2万个事实,JBPM需要花费以下时间来做以下事情:
Start Process - 3-4 seconds
Insert Fact - 4+ seconds
FireAllRules - 3-4 seconds.
有人可以帮助我了解可能导致这些延误的原因。
答案 0 :(得分:0)
启动流程可能包括规则编译,这取决于DRL文件中的规则数量或代码行。
4秒以上是由于所有规则条件的评估已经插入了事实。当然,这不仅取决于事实的数量,还取决于左手边代码(条件)的复杂性。如果不检查规则,不能说4秒以上是否足够。
您可以根据右侧代码(后果)轻松跟踪规则触发的含义。您已对此进行了编码,您可以使用事件监听器轻松监控它。如果这太慢,请检查代码的作用以及如何执行。