《Drools7.0.0.Final规则引擎教程》番外实例篇——获取规则名称和包名

简介: 《Drools7.0.0.Final规则引擎教程》番外实例篇——获取规则名称和包名

场景

在QQ(593177274)交流群中,有朋友问到这样一个问题,如果我执行了很多规则,调用fireAllRules方法只会返回触发了几条规则,那么我怎么知道哪些规则被触发了,并把这些触发的规则的名称存如数据库呢?


其实这个问题很好解决,也是实践中必然会遇到的问题,为大家写了一个简单的示例。


实践

在前面的RHS语法章节中我们已经讲过预定义变量drools的简单实用,其实通过它就可以轻松的拿到规则相关的信息。下面看实例:

规则内容如下:


package com.rules
rule "Get name and package demo"
agenda-group "Name and package"
when
then
    System.out.println("The rule's name is '" + drools.getRule().getName() + "'");
    System.out.println("The rule's package is  '" + drools.getRule().getPackageName() + "'");
end

执行规则代码如下:

@Test
    public void test(){
        KieSession kieSession = this.getKieSession("Name and package");
        int count = kieSession.fireAllRules();
        kieSession.dispose();
        System.out.println("Fire " + count + " rule(s)!");
    }

执行结果:


The rule's name is 'Get name and package demo'

The rule's package is  'com.rules'

Fire 1 rule(s)!

源代码已上传至gitHub:https://github.com/secbr/drools


目录
相关文章
|
前端开发 JavaScript 数据安全/隐私保护
VUE3(四十)使用canvas给图片添加水印~
VUE3(四十)使用canvas给图片添加水印~
643 0
|
11月前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
144 4
|
11月前
|
数据可视化 Python
Pandas 相关性分析
Pandas 相关性分析
198 1
|
运维 安全 物联网
物联网:NB卡在使用过程中存在的一些限制和需要特别注意的操作事项
物联网NB卡(通常指的是窄带物联网(NarrowBand Internet of Things, NB-IoT)卡)是专为物联网设备设计的无线通信模块,主要用于连接物联网设备与移动网络,实现远程数据交换和控制。然而,在使用物联网NB卡时,确实存在一些限制和操作上的考虑因素。以下是一些主要的限制和操作注意事项:
|
存储 关系型数据库 MySQL
深入理解MySQL:查询表的历史操作记录
深入理解MySQL:查询表的历史操作记录
1457 0
|
Java 关系型数据库 MySQL
连接池技术:简单而强大的加速数据库访问方法
连接池技术是一种简单而强大的方法,可用于加速数据库访问。在传统的数据库访问过程中,每次与数据库建立连接和关闭连接都需要耗费大量的时间和资源。而连接池技术通过事先建立一组可重复使用的数据库连接,有效地减少了连接和关闭连接的开销。本文将深入探讨连接池技术的工作原理和优势,以及如何正确配置和使用连接池来提高应用程序的性能。无论你是开发人员还是系统管理员,通过了解连接池技术,你将能够更好地利用数据库资源,使系统更加稳定和高效。
978 0
|
机器学习/深度学习 算法 TensorFlow
TensorFlow Probability 超厉害!带你探索贝叶斯方法与概率编程,开启数据科学新征程!
【8月更文挑战第31天】TensorFlow Probability是基于TensorFlow的一个强大库,专攻概率建模与推断,融合深度学习力量与概率方法灵活性,便于构建复杂概率模型并高效推断。它提供了概率分布、贝叶斯推断等工具,支持不确定性量化与决策,尤其适合数据有限情况。通过示例代码展示了如何构建贝叶斯线性回归模型,体现了其在处理不确定性方面的优势。
319 1
|
搜索推荐 API 开发者
对接抖音商品详情常见错误和解决方案
抖音商品详情API接口革新电商行业,为商家提供前所未有的数据透明度与运营效率。通过精准的商品信息检索、订单管理等功能,助力商家洞察市场趋势,优化用户体验。借助简化流程与调试工具,开发者能轻松集成API,实现个性化营销。拥抱这项技术,商家能在激烈的市场竞争中脱颖而出,开启数据驱动的电商新时代。
|
存储 NoSQL 关系型数据库
【Cassandra从入门到放弃系列 三】Cassandra的数据模型设计
【Cassandra从入门到放弃系列 三】Cassandra的数据模型设计
801 0