Drools
文章平均质量分 92
Drools的学习理解与应用
zcrazy胡说八道
懒,懒得解释,懒得干活,懒得……
展开
-
Drools的KieSession(有状态会话)的获取,领导就说一句话,员工加班都做不完!
获取KieSession是一个非常复杂的过程,根据用户手册来说,KieSession是从KieBase中获取的,KieBase是从KieContainer中获取的,而且都会有默认的,也可以在kmodul.xml文件中配置。文章中出现了很多KiePaoject等相关控件,会在之后的内容中陆续解析。原创 2023-08-25 14:43:09 · 845 阅读 · 0 评论 -
规则的加载与管理者——KieContainer的获取与其类型的区别(虽然标题是KieContainer,其实说的还是KieServices)
在KieServices中,实例化KieContainer其实就两个方法,一个是从类路径加载规则资源的newKieClasspathContainer,一个是从Maven仓库中加载资源的newKieContainer,如果直接使用getKieClasspathContainer,第一次用会默认使用newKieClasspathContainer,之后再使用就是可以直接获取KieServicesImpl实例中对应的KieContainer。原创 2023-08-17 13:33:30 · 595 阅读 · 0 评论 -
“万恶”之源的KieServices,获取代码就一行,表面代码越少里面东西就越多,本以为就是个简单的工厂方法,没想到里面弯弯绕绕这么多东西
最后我们看一下,一小段短短的代码,里面却包含了如此多的工作,先是要实例化服务注册也就是Impl类,在实例化的时候需要通过服务发现类将所有的配置文件获取,建立服务列表,最后通过传入服务类的类名,获取服务类。流程就是这么个流程,你说简单他也简单,你说难我觉得你说的对,最后我也有个地方没有明白,可能是源码看太多脑子浆糊了,代码段15里面,还有一个buildMap的方法,源码如下,谁能给我解释解释,最后那一段代码在做什么?代码段X ServiceDiscoveryImpl的buildMap方法。原创 2023-08-15 10:15:04 · 541 阅读 · 0 评论 -
Rete算法相关内容与实例,搞懂Rete算法这一篇文章就够了,有我自己的理解,也有经典的例子详解,非常详细
因为我是先用的Drools,后了解的Rete,按照我使用Drools的方式,一直就是一条一条事实的插入,插入之后直接返回匹配规则的结果操作,所以我理解积木这个例子的时候很费劲,因为积木这个例子,相当于把所有事实一起插入,最后返回匹配规则的事实集合。我认为这是两种使用方式,我使用的那一种,主要可以作为规则匹配来使用,比如违反交通规则系统,将信息输入之后,返回违反的规则,基本就是输入一条事实,返回违反的规则。而积木的例子我感觉主要是用于专家推荐系统,比如排班系统,按照排班的规则,将符合规则的排版规则作为输出。原创 2023-07-27 17:18:27 · 569 阅读 · 0 评论