drools动态从字符串加载规则

本文介绍了一种在Drools中动态加载规则的方法,通过使用ByteArrayResource而非传统的drl文件,实现根据运行时数据构建规则并加载。此方法适用于需要实时调整规则的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

drools加载规则的方式正常情况下是需要从drl文件中去加载,但有时候我们需要动态根据数据存储的信息来构建我们的规则,然后
让drools去加载。我们可以通过如下方式手工加载的方式加载规则。
KnowledgeBuilder kb = KnowledgeBuilderFactory.newKnowledgeBuilder();

kb.add(ResourceFactory.newByteArrayResource(“你的drl文本”.getBytes("gbk")), ResourceType.DRL);
KnowledgeBuilderErrors errors = kb.getErrors();
for (KnowledgeBuilderError error : errors) {
   System.out.println(error);
}
KnowledgeBase kBase = KnowledgeBaseFactory.newKnowledgeBase();
kBase.addKnowledgePackages(kb.getKnowledgePackages());
kSession = kBase.newStatefulKnowledgeSession();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值