drools相关内容
我正在使用Drools 7.8和 DefaultAgendaEventListener 处理事件。 我正在尝试在激活规则后处理事件(即使部分匹配),但到目前为止,该类处理的每个事件都失败了。例如,假设我有以下规则: 规则“ A” 当 ConditionA ConditionB ConditionC 然后 结果 结束 我希望在满足这三个条件(A,B或C)中的
..
这是我的规则: 规则“当 $时,LeftArm流利的设置值” ev:Start() $ fl:LeftArm() 然后 Sample s = new Sample(); s.setFluent($ fl); s.setValue(-1.0); 个插入; end 好,但是如果我想设置样本的值没有具有相同$ fl的Sample并修改了Sample的值,我
..
我在drools会话中插入了许多规则,并使用KieSession提供的事件监听器将它们打印出来。这是代码: kSession.addEventListener(new RuleRuntimeEventListener(){ @Override public void objectInserted(ObjectInsertedEvent event ){ System.out.pri
..
我想以更通用的格式创建规则,这意味着应该验证字段和值。按照我的POJO结构。 公共类RulesModel 私有String字段; private List价值观 //其他东西 我的规则 规则“样本” 当 $ rule时:RulesModel(字段==“源”,值包含“ facebook”,值包含“ youtube” ,值不包含“ insta
..
我有下面的代码从Spark调用 drools规则引擎。 Spark版本:2.3.0 KieServices ks = KieServices.Factory.get(); KieContainer kContainer = ks.getKieClasspathContainer(); ClassTag classTagTest = scala.reflec
..
我有一个用例,需要为单独的实体维护单独的 drl 文件。 例如, 实体1 有一组事实,应由 drl1 实体2 有一组事实,应由 drl2 我应该如何实现呢? 在单独的知识库和会话中加载drl和相应的事实 加载所有drl的事实在单个会话中。 我不知道如何实现2 解决方案 如果按照下面的说明构建知识库,则可以重复向KieFileSystem添加另一个Fil
..
我运行了100条规则的流口水决策表,效果很好。但是,一旦我将规则数量增加到1000,我就开始出现permgen空间错误。我必须将permgen的进程增加到256MB,才能容纳3000条规则。我担心的是,随着我不断添加规则,我可能需要越来越多的permgen。 由于此问题,我正在考虑不使用流口水并开发自定义解决方案。 这是正确的观察结果还是我做错了什么,导致电烫发电的空间需求增加了?
..
我想在早上8点或太阳升起时开火。 规则X 当 (“是上午8点”并...和...) 或 (Sun(up)和...和...) 然后 //做某事 结束 计时器的作用类似于先决条件。因此,我猜想在这种情况下它没有用。 额外的时间事实必须每秒进行更新,这将导致规则每秒射击一次。我想我可以将 time 事实分解为 hour , minute 和 second 事实,但是不会
..
如果我尝试在日期类型上使用条件的简单Drools规则并使用条件OR( || ),则会出现以下错误。如果我将 || 更改为& ,则效果很好。这是错误,已知限制还是我的规则有问题? 我正在使用Drools 5.5.0 Final 规则文件 package net.madhura.drools.rules import net.madhura.drools.DateContain
..
公共类TestDecisionTable { public static void main( String [] args) { try { KieServices ks = KieServices.Factory.get(); KieContainer kContainer = ks.getKieClasspathContainer(); KieSession kSession
..
我正在使用AgendaFilter来决定是否应该执行规则激活。 作为工作记忆事实的一部分,我为每个规则插入一个“规则配置”事实,其中包含允许我的规则执行的频率(以及相应的计数器)。 我注意到 Match.getFactHandles()仅返回“创建此匹配项”的事实(根据Java文档)。 是否有一种方法可以访问WorkingMemory及其所有事实,或者我是否必须根据自身条件声明“规则配置”事
..
我想限制规则在特定时间段内运行,我写的规则如下 规则“ Event3 “ timer(cron:* * 10-18 * *?) 无循环 ,当 $ m时:EventTest(originNumber ==” 123“,originNumber:originNumber)从入口点“ ATM流” 或 $ m:EventTest(originNumber ==“ 456”,originNu
..
我需要创建一个规则来检查List [String]中是否存在一部分字符串。我有办法做到吗? 我正在尝试使用包含,但是它不起作用。 规则“新协助” ,当 $ room:Room($ tags:tags) // $ room: Room(标签包含“协议”) $ value:String()来自$ tags //布尔值(booleanValue == true)来自$ value
..
我试图在Spring Boot Maven项目中使用 KieSession 的持久性功能实现Drools。按照本文档进行操作实施。可以在普通的Java应用程序中做到这一点,但在Spring Boot应用程序中尝试这样做时却遇到异常。 下面是实现。 项目结构 配置类 @Configuration 公共类PersistentDroolConfig { public s
..
我正在使用Java和Drools 6.2.0开发Maven项目,并且试图通过kmodule.xml文件将某个DRL文件“绑定”到KieBase,但是我一直收到错误消息 WARN org.drools.compiler.kie.builder.impl.AbstractKieModule-未找到有关KieBase 在运行项目时。 我认为我已经正确配置了所有内容,如
..
我在下面的DMN模型中压缩输入并计算折扣。我可以通过信号模拟器运行它。
..
升级到Drools 5时,有效的Drools 4 xml规则不起作用。 Drools只会抛出无用的null指针异常。问题可能是什么? 解决方案 问题是Drools 5更改了名称空间。将xmlns =“ http://drools.org/drools-4.0”替换为xmlns =“ http://drools.org/drools-5.0”,至少对于您所需要的简单规则。 我希望这可以
..
在Drools中,这两者之间有什么区别? 意味着我们可以基于 从加载的Rules RulesBase创建WorkingMemory并触发规则,如下所示: WorkingMemory workingmemory = rulebase.newWorkingMemory(); workingmemory.fireAllRules(); vs 使用
..
我对流口水并不陌生,对其进行了测试以创建kie会话,而当我尝试这样做时,却遇到此错误。按照本教程进行操作 http://javainuse.com/drools_hello_kie 我的pom.xml
..
一个 SubjectTeacherPeriod 具有 num_attribute_map ,这是一个映射某些属性(例如“无聊”)的映射与他们各自的分数。我使用以下代码对一周中的每一天的属性(例如“无聊”)求和。 但是某些行会导致错误。 规则“ insertAttributeDayTotal” //显着性1 //首先执行这些规则(为提高性能,可选) $ b $ sum_regres
..