drools kmodule属性( kbase属性,ksession属性)

Drools深入学习之KIE 初步接触Drools,肯定会看到KieContainer、KieSession之类的带有kie标识的方法类名词,kie作为Drools和JBPM的共享核心,它的主要作用在于提供了一体化的方法模型去供给应用中的部署生成环节。KIE(Knowledge is everything),从官方给出的文档上看出它的生态圈包含以下内容:OptaPlanner:一个规划引擎,注意, 阅读详情

kmodule.xml示例: 

<?xml version="1.0" encoding="UTF-8"?>
<kmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://www.drools.org/xsd/kmodule">
    <configuration>
        <property key="drools.evaluator.supersetOf" value="org.mycompany.SupersetOfEvaluatorDefinition"/>
    </configuration>
    <kbase name="KBase1" default="true" eventProcessingMode="cloud" equalsBehavior="equality"
           declarativeAgenda="enabled" packages="org.domain.pkg1">
        <ksession name="KSession2_1" type="stateful" default="true"/>
        <ksession name="KSession2_2" type="stateless" default="false" beliefSystem="jtms"/>
    </kbase>
    <kbase name="KBase2" default="false" eventProcessingMode="stream" equalsBehavior="equality"
           declarativeAgenda="enabled" packages="org.domain.pkg2, org.domain.pkg3" includes="KBase1">
        <ksession name="KSession3_1" type="stateful" default="false" clockType="realtime">
            <fileLogger file="drools.log" threaded="true" interval="10"/>
            <workItemHandlers>
                <workItemHandler name="name" type="org.domain.WorkItemHandler"/>
            </workItemHandlers>
            <calendars>
                <calendar name="monday" type="org.domain.Monday"/>
            </calendars>
            <listeners>
                <ruleRuntimeEventListener type="org.domain.RuleRuntimeListener"/>
                <agendaEventListener type="org.domain.FirstAgendaListener"/>
                <agendaEventListener type="org.domain.SecondAgendaListener"/>
                <processEventListener type="org.domain.ProcessListener"/>
            </listeners>
        </ksession>
    </kbase>
</kmodule>

 

 kbase属性

官网: 

Attribute nameDefault valueAdmitted valuesMeaning

name

none

any

The name with which retrieve this KieBase from the KieContainer. This is the only mandatory attribute.

includes

none

any comma separated list

A comma separated list of other KieBases contained in this kmodule. The artifacts of all these KieBases will be also included in this one.

packages

all

any comma separated list

By default all the Drools artifacts under the resources folder, at any level, are included into the KieBase. This attribute allows to limit the artifacts that will be compiled in this KieBase to only the ones belonging to the list of packages.

default

false

true, false

Defines if this KieBase is the default one for this module, so it can be created from the KieContainer without passing any name to it. There can be at most one default KieBase in each module.

equalsBehavior

identity

identity, equality

Defines the behavior of Drools when a new fact is inserted into the Working Memory. With identity it always create a new FactHandle unless the same object isn’t already present in the Working Memory, while with equality only if the newly inserted object is not equal (according to its equal method) to an already existing fact.

eventProcessingMode

cloud

cloud, stream

When compiled in cloud mode the KieBase treats events as normal facts, while in stream mode allow temporal reasoning on them.

declarativeAgenda

disabled

disabled, enabled

Defines if the Declarative Agenda is enabled or not.

翻译:

属性名默认值允许的值涵义

name

 none

任何值

从KieContainer中检索此KieBase的名称。这是唯一的强制属性。

includes

none

任何以逗号分隔的list此kmodule中包含的其他KieBase的逗号分隔list,引用其他的KieBase的属性。

packages

all

任何以逗号分隔的list默认情况下,resources资源文件夹下任何级别的所有Drools属性都包含在这个KieBase中。此属性允许将在此KieBase中编译的属性限制为仅属于包列表的属性。

default

false

true, false

定义此KieBase是否为此模块的默认值,因此可以从KieContainer创建它而不向其传递任何名称。每个模块中最多只能有一个默认的KieBase

equalsBehavior

identity

identity, equality

当一个新的fact插入工作内存时定义drools的行为,identity:除非当前的工作内存中没有这个object,否则每次都会新建一个FactHandle ;equality : 只有当这个fact在工作内存中没有equal的对象时才创建。

eventProcessingMode

cloud

cloud, stream

在云模式下编译时,KieBase将事件视为正常facts,而在流模式下则允许对它们进行时间推理。

declarativeAgenda

disabled

disabled, enabled

定义是否启用declarativeAgenda。

ksession属性

官网 :

Attribute nameDefault valueAdmitted valuesMeaning

name

none

any

Unique name of this KieSession. Used to fetch the KieSession from the KieContainer. This is the only mandatory attribute.

type

stateful

stateful, stateless

A stateful session allows to iteratively work with the Working Memory, while a stateless one is a one-off execution of a Working Memory with a provided data set.

default

false

true, false

Defines if this KieSession is the default one for this module, so it can be created from the KieContainer without passing any name to it. In each module there can be at most one default KieSession for each type.

clockType

realtime

realtime, pseudo

Defines if events timestamps are determined by the system clock or by a psuedo clock controlled by the application. This clock is specially useful for unit testing temporal rules.

beliefSystem

simple

simple, jtms, defeasible

Defines the type of belief system used by the KieSession.

翻译:

 

属性名默认值允许的值涵义

name

none

any

此KieSession的唯一名称。用于从KieContainer获取KieSession。这是唯一的强制属性。

type

stateful

stateful, stateless

有状态会话(stateful)允许迭代地使用工作存储器,而无状态会话(stateless)是使用提供的数据集一次性执行工作存储器。

default

false

true, false

定义此KieSession是否是此模块的默认值,因此可以从KieContainer创建它而不向其传递任何名称。在每个模块中,每种类型最多只能有一个默认的KieSession。

clockType

realtime

realtime, pseudo

定义事件时间戳是由系统时钟还是由应用程序控制的伪时钟确定的。该时钟对于单元测试时间规则特别有用。

beliefSystem

simple

simple, jtms, defeasible

定义KieSession使用的beliefSystem的类型。
Drool7s kmodule的作用--系列02课 本文是介绍drool7s kmodule。一、为什么komdule.xml文件一定要放在resources下的META-INF文件夹中---》直接看源码吧,请看下图,应该都知道为什么要放在固定文件夹下。二、下面是一些知识点,需要大家记住的kmodule中可以包含一个或多个kbase,分别对应drl的规则文件kase需要一个唯一的name,可以任意字符串packages为drl文件所在resourc... 阅读详情

相关推荐

Drools 规则引擎 kmodule方式本地配置规则(二)

在src/main/resource/META-INF下新建kmoudle.xml文件 &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule"&gt; &lt;kbase name="auth" packages="rules&qu

han447227659的博客 5680

Drools7规则引擎入门教程

Drools规则引擎是一种嵌套在应用程序中的组件,它实现了将业务规则从应用程序代码中分离出来。本次课程的主要内容分为以下几个方面:1.规则引擎、 Drools规则引擎简介2.Drools规则引擎各类基础知识点讲解,如kmodule、no-loop、salience等3.各类基础函数以及决策表,动态加载规则4.实战式教学以及课程总结

Drools 规则引擎 动态读取规则(三)

在上一篇中,大概说了一下kmodule的配置方式,这种配置方式其实略显复杂,不如通过数据库读取来的简单。不过,基于kmodule的配置方式,让我们这些刚学习的人,能更好地了解到drools的机智。在有了一定理解的基础上,现在就学习一下如何实现动态读取规则。动态读取非常简单,不需要kmodule配置文件,也不需要drl文件,只需要把drl文件的内容,保存到比如数据库中,然后使用以下代码即可KieSe...

han447227659的博客 9899

Drools 规则引擎(包括动态加载数据库中规则引擎)

Drools 规则引擎,介绍了Drools原理和两种使用方法(包括动态加载数据库中规则引擎)

ProGram_Java521的博客 1万+

Drools 7.11 :入门程序

项目结构 Maven pom.xml文件中依赖配置: &amp;lt;properties&amp;gt; &amp;lt;drools-version&amp;gt;7.11.0.Final&amp;lt;/drools-version&amp;gt; &amp;lt;/properties&amp;gt; &amp;lt;dependencies&amp;gt; &

九师兄 1253

基于NXP1778的CAN自动波特率检测

一、概念 NXP1778芯片内部自带一个CAN控制器。CAN模块由两部分组成:控制器和验收滤波器。所有的寄存器和RAM都以32位字宽度来访问。 CAN自动波特率检测主要用于以一种CAN的转换的产品中。产品中CAN部分的波特率以前都是通过网页中修改然后配置下去的,依据实际情况的考虑,如果CAN部分的波特率能够根据客户设备的改变而自动改变,将会增加其灵活性。   二、原理 根据CAN控制器的

菜鸟的痕迹专栏 5273

【翻译】11. Integration with Spring

为详细学习Drools基于Spring集成而翻译。

BEST L. 587

Linux DRM驱动实战:手把手教你用drmModeSetCrtc显示纯色画面(附完整代码)

本文提供了一份完整的Linux DRM驱动实战指南,手把手教你使用drmModeSetCrtc在屏幕上显示纯色画面。文章详细解析了从打开设备、获取资源、创建帧缓冲区到最终提交画面的完整调用流程,并附带了可直接编译运行的完整代码示例,帮助开发者快速上手Linux图形底层开发。

weixin_29216353的博客 513

drools规则引擎对接风控系统简单实现Demo

从五一放假回来,研究了三天的drools的原理,由于网上的视频基本都是收费,并且上班如果看视频只能是无声。所以研究的主要渠道就是通过博客专栏,当然也找了一些视频。视频都是加密的,日后等解密后分享出来。写这篇博客的目的是总结一下整个学习过程,及日后深入研究需要考虑的点。三天时间肯定只是皮毛,只能做一个简单的能运行的demo。 主要阅读的博客有一下这些,有一些是连载,非常感谢博主们的分享。 htt...

Dream_ling的博客 5544

隐语第四课:快速上手-SecretFlow的安装和部署

隐语课程,继续学习隐私计算技术

weixin_41467180的博客 2509

高速PCB设计中串扰的成因、影响与实战控制策略

在高速数字电路与硬件系统设计中,信号完整性是确保系统稳定可靠的核心基础。其核心原理在于,当信号在传输线上传播时,会伴随产生电场与磁场,若相邻导线距离过近,便会通过电磁场耦合产生不期望的能量转移,即串扰。这一现象会直接导致信号波形畸变、时序偏移和噪声裕量降低,严重影响系统性能。从技术价值看,深入理解并有效控制串扰,是提升数据传输速率、保障系统稳定性和降低误码率的关键。其应用场景广泛覆盖了从高速SerDes链路、DDR内存接口到高精度模拟电路等几乎所有现代电子系统。本文聚焦于高速PCB设计中的串扰问题,系统剖析

weixin_27625589的博客 576

drools7 (三、kmodule 介绍)

drools7 (三、kmodule 介绍) 注意几点: 1. kmodule 有默认的加载路径, 看KieModuleModelImpl 这个类的源代码 public class KieModuleModelImpl implements KieModuleModel { public static final Stri...

HH_KELE的专栏 1921

三极管简单振荡电路实现:从零开始的实战示例

通过一个基础实例,手把手教你如何利用三极管构建简单的振荡电路,深入理解三极管在实际电路中的工作原理与应用技巧。

weixin_32836713的博客 1203

规则引擎——Drools

Drools简介 Drools使用范例 语法介绍 名词解释 Drools简介   JBoss Rules 的前身是Codehaus的一个开源项目叫Drools。最近被纳入JBoss门下,更名为JBoss Rules,成为了JBoss应用服务器的规则引擎。   Drools是为Java量身定制的基于Charles Forgy的RETE算法的规则引擎的实现。具有了OO接口的RET...

ZZY1078689276的专栏 1869

基于STM32的频率计(采用外部中断的方式)

前言 最近在了解电赛相关的东西,和指导老师交流一下,我决定先从最简单的频率计做起。 频率计是来检测信号的频率的,在做频率计的时候可以用信号发生器发出的信号来进行测试。 原理 这是最基础的方波,我们可以通过检测上升沿的方式来测量其频率。从周期的角度出发连续两个上升沿的时间就是这个方波的周期,那这个周期分之一就是这个方波的频率了。 在思考了一段时间~~(我是萌新。。)~~ 我觉得有两个方法可以实现,第一个是采用stm32定时器的输入捕获功能,第二个就是用外部中断来实现这个功能。正如标题,我这次采用外部中断的方

qq_45784922的博客 6171

ONNX Runtime C# YOLO全链路压测:从300ms到22ms的15个底层优化技巧

摘要:本文分享了工业质检场景下C#调用YOLOv8s ONNX模型的性能优化实战经验。原始单帧推理耗时300ms无法满足产线需求,通过全链路分析定位瓶颈(预处理85ms、推理180ms、后处理30ms)。重点优化措施包括:使用OpenCVSharp CUDA加速预处理(85ms→12ms),开启ONNX Runtime ALL级别图优化,选用TensorRT执行提供程序(180ms→22ms),以及优化内存管理和线程调度。最终实现单帧总耗时22ms±2ms,GPU利用率提升至85%,完整满足产线120块板/

2601_94871597的博客 402

drools6 KSession 为空的可能解决方法

首先,这是对应drools6 里的。。。以前的没研究过 在kmodule.xml文件里,kbase的packages 对应的是src/main/resources下的文件夹名称,而不是对应的规则文件drl 下第一行package的值。 因为 kbase 的packages   是文件物理路径 就像java 的package 一样, drl 文件package是逻辑路径  。 然后直接在代码里

进击的WLAY 1825

YOLO26改进策略【YOLO和Mamba】| MLLA:Mamba-Like Linear Attention,融合Mamba设计优势的注意力机制

本文记录的是利用模块优化的目标检测网络模型。模块具有独特优势。它不同于传统模块,能同时兼顾局部特征高效建模与长距离交互学习。常见模块要么在局部特征处理上有优势但长距离交互能力弱,要么反之,而模块克服了此问题。它融合了Mamba模型和线性注意力机制的优势,通过独特的结构设计,能够在保持计算效率的同时,精准地建模局部特征并学习长距离交互信息。本文将其用于的模型改进和二次创新,能够更加关注图像中的重要特征区域,抑制背景等无关信息的干扰,从而突出目标物体的关键特征。Demystify Mamba in Vision

Limiiiing的博客 214

【java规则引擎】drools6.5.0版本中kmodule.xml解析

kmodule.xml文件存放在src/main/resources/META-INF/文件夹下。 1 <?xml version="1.0" encoding="UTF-8"?> 2 <kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule"> 3 <kbase na...

weixin_33692284的博客 461

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

第五天:Drools深入-规则配置

Release Notes:版本说明 KIE是drools所使用工具的统称(umbrella name),现有drools大家庭中包含哪些成员呢?

metroshack的专栏 6456

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【Drools学习笔记篇】-【中级语法篇】

对Drools的语法不熟悉? 这一篇主要讲解了Drools的中级语法

LiangPing_005的博客 698

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Drools规则引擎实战:SpringBoot整合与业务逻辑解耦

规则引擎是一种将业务决策逻辑从应用程序代码中分离出来的技术,其核心原理是基于RETE算法实现高效的模式匹配。通过声明式编程,规则引擎能够将复杂的业务规则以接近自然语言的形式进行定义和管理,从而显著提升系统的可维护性和灵活性。在Java生态中,Drools作为一款成熟的开源规则引擎,广泛应用于风控策略、营销活动、费用计算等需要频繁变更业务规则的场景。本文将以Drools为例,深入解析其核心概念如Fact、Rule和KieSession,并结合SpringBoot框架,演示如何实现规则文件的动态加载与热更新,解

weixin_34121304的博客 394

Drools6 基本使用 -- 1

drools6 基本使用1

cloud的技术积累 1万+

Linux 存储分区扩容实战:从 mmcblk0 识别到 resize2fs 在线扩展

在 Linux 系统中,块设备是存储访问的基础抽象,内核通过 MMC、SCSI 等子系统识别 mmcblk0、sda 等设备,并依据 MBR 或 GPT 分区表管理磁盘布局。分区扩容的核心在于同步三层视图:磁盘分区表、内核分区视图与文件系统超级块。只有三者对齐,才能安全完成在线扩容。该技术广泛应用于嵌入式设备、国产化平台及服务器运维,解决根分区空间不足、eMMC 容量缩水等典型问题。实际操作中,fdisk 调整分区表后需 partprobe 或重启使内核重读,再通过 resize2fs 扩展 ext4 文件

weixin_34214500的博客 416

Drools

Drools入门系列(一)HelloWorldDrools入门系列(二)HelloWorld详解之Sample.drlDrools入门系列(三)HelloWorld详解之kmodule.xmlDrools入门系列(四)HelloWorld详解之JUnit Test类Drools入门系列(五)KIE概论Drools入门系列(六)KIE之基础API详解Drools入门系列(七)KIE之kmodule.

mxlmxlmxl33的专栏 8747
上一篇: Redis 主从, 哨兵配置
下一篇: drools rule (一) 属性
JAVA探索
博客等级 码龄10年 52粉丝 305原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值