分享好友 最新动态首页 最新动态分类 切换频道
drools规则引擎并发结果不准确问题记录
2024-12-26 17:55

首先,drools的整体思路比较简单,一个是加载,一个是执行! 加载:把一个比较复杂的关系运算想办法放到drools里面
执行:让drools去计算这个复杂的运算,最终我们只需要取结果就好

drools规则引擎并发结果不准确问题记录

加载的方式有很多,可以通过xml,也可以通过drl,也可以maven构建,官网有详细的demo,可以直接拿来用,也有很详细的文档可以参考,github上也有从数据库加载的,看各自项目吧,我们是直接把运算的关系表达式串扔进drools里用的,不同项目适合的方式不一样

我们的业务场景,会有很多规则先加载,然后等请求到了,同一时间,会有大量请求去执行已经加载好的规则,刚开始一切正常,但是后来发现,并发执行超过30多次、50多次、60多次以上,同样的条件,drools执行完给出的结果就不准确了,还是没有规律的不准确,经过大量的调试、查找,最终定位到是kieBase的问题,因为new
kieBase().newKieSession(),执行完是正确的,但是new好的kieBase放内存里,再拿出来直接调用newKieSession(),结果就不准确了,但是每次都创建新的kieBase,并发大的情况下,平均时间会超过1.5秒,这是不可忍受的,所以就不能每次都new
kieBase。但不new的情况下,为什么前几十次是正确的,后面就不准确了,new的时候它里面做了什么

部分源码如下 我们用的KieHelper,它直接build(),相当于new kisBase();

一直到kieBase创建结束,也没发现什么特别的地方,看起来都很正常!不过定位的问题我相信是没错的,几种加载规则的方式我都试了,都逃不过kieBase的不准确问题,现象表现的很明显,问题就是出在kieBase,于是又只针对kieBase的问题查找了一番,偶然发现一个小伙伴遇到的是超过20次出现转换异常的问题,他的做法是禁用了JIT编译器,抱着试一试的心态同样禁用了一下,好家伙,真的没问题了

回想上面的源码,发现new KieBase()的时候,确实没管过它的默认配置,看下配置

确实默认配置里面的jittingThreshold默认值是20,而我们没有类型转换的问题,所以它超过20次才表现出来不准确的问题,所以它是超过20是不保证准确,并不是一定不准确,至此,问题解决

顺便贴一下代码

最新文章
速腾 carplay 点击无反应是怎么回事
仪表盘一直亮不灭可能有多种原因。一是牵引力控制系统TCS出现故障。二是车辆引擎灯、电池灯常亮这可能表示车辆电子系统有问题或者发动机异常需检查故障代码并维修。三是机油灯、刹车灯、轮胎压力灯等提醒灯常亮要及时处理。
网站点击排名优化,提升网站流量与用户体验的全方位策略,网站点击排名优化什么意思
网站点击排名优化是指通过一系列技术和策略,提高网站在搜索引擎中的排名,从而增加网站流量和用户体验。这包括优化网站内容、结构、链接等方面,以提高网站在搜索引擎中的可见性和权威性。通过点击排名优化,网站可以吸引更多的访问者,提
搜狗浏览器下载2015官方版 v6.2 最新电脑版
是一款拥有极速浏览速度的双核浏览器。搜狗浏览器下载2015采用最新的chrome内核和ie内核,其浏览速度毋庸置疑,但是现在市场上的浏览器也同样采用这两个内核,于是搜狗推出了智能预读系统,用户在输入网址时,浏览器智能识别用户输入的地址
第三季全球手机排行榜 诺基亚独占七席
  11月4日消息,据国外媒体报道,知名电子产品批发商RCS日前表示,在今年第三季度的全球十大畅销手机排行榜上,诺基亚依然实力强劲,独占了7个席位。而在上一季度排名第五的大众宠儿iPhone 在本季度却榜上无名。  以下是RCS统计的第三
昆仑山
首页 此部分内容前置为铸剑山庄开启紫金熔炉,未开启则不会刷出尸体昆仑山(9,14):尸体,第一次探查,获得【冰穿子】x1;第二次探查获得纸条,阅读得知冰面下面有东西,之后可以掩埋尸体昆仑山(18,16):冰面,使用冰穿子挖凿,选择冰窟窿,
雅思教学培养方案怎么写(雅思培训课程是怎么设置的)
1、第三个方法,社交学习法。每个人都会有疲倦期,这个时候,我们需要内外刺激,而社交学习法就属于外部刺激。也就对应了一句话“一个人可以走得很快,但是一群人才能走得很远。2、雅思如何自学方法如下:听力:雅思词汇是雅思正常考试的核
百度快速排名优化工具(百度seo快速排名优化)
在当今竞争激烈的网络环境中,网站的排名对于企业和个人的在线存在至关重要,百度作为国内最大的搜索引擎之一,其搜索结果页面的排名直接影响着网站的流量和曝光度,为了在百度上获得更好的排名,许多网站所有者和 SEO 从业者开始寻求百度
开发销售打卡“神器”获刑
2023年8月,刚大学毕业的小张到宁波找工作,面试几家公司后发现多数公司都需要通过App来考勤打卡,他觉得特别麻烦,在和同学聚餐时聊起此事,同学向他推荐了一个可以实现虚拟定位打卡的网站。小张登录了这个网站,加了网站管理员的微信。在
使用宝塔搭建环境,以及把自己本地的Web项目通过宝塔发布到远程云服务器上
使用宝塔搭建服务器的环境 什么是搭建服务器环境 所谓的搭建环境其实也就是下载应用,然后把应用对应的端口号在三个地方开启,这三个地方分别是,宝塔的安全菜单的防火墙,阿里云的安全组,阿里云云服务器中
非常聪明的AI眼镜即将到来!VRETF(159786)今日微跌0.67%,利亚德涨19.94%
AI眼镜方向传来新消息。据领益智造消息,12月13日,在AndroidXR发布会上,谷歌与国内消费级AR眼镜厂商XREAL达成了战略合作,共同打造AndroidXR生态。。2024年12月13日,A股市场震荡调整。VR指数成份股中,利亚德涨19.94%,奥飞娱乐涨10.03%
相关文章
推荐文章
发表评论
0评