Drools规则模板-第一次调用比子序列调用慢1000倍

Drools规则模板-第一次调用比子序列调用慢1000倍,第1张

Drools规则模板-第一次调用比子序列调用慢1000倍

在您链接的示例中,有一行正在做的事情比看起来正在做的要多。我要说的是:

KieSession ksession = kc.newKieSession( "DTableWithTemplateKS" );

里面的步骤之一

KieContainer.newKieSession()
是创建
Kiebase
指定的
KieSession
所属。A
Kiebase
是规则的二进制表示形式。一旦
Kiebase
建成,它可以被用来生成多个
KieSessions
(与其对应运行时)。创建a
Kiebase
可能非常耗时。
KieSessions
从它产生新的不是。

KieContainer
类使用内部地图,以保持该基准
Kiebases
已经建立了。第一次你问
KieContainer
一个
KieSession
KieContainer
具有率先建成的
Kiebase
。调用
newKieSession()
后将重用已经构建的Kiebase。请注意,只要您始终要求相同,便是正确的
KieSession
。尝试拥有多个
Kiebases
并要求与之不同
KieSessions
,您会发现,第一次
KieSession
从新要求中会有一个
Kiebase
延迟。

您可以做的一件事是在启动应用程序时询问

KieContainer
Kiebase
。您可以通过执行
kc.newKieSession( "XXX");
kc.getKiebase("YYY");

希望能帮助到你,



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5012512.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存