Drools规则引擎:是否可以将参数设置为列表,然后在决策表中为列表中的每个值运行条件?

Drools规则引擎:是否可以将参数设置为列表,然后在决策表中为列表中的每个值运行条件?,drools,rule-engine,Drools,Rule Engine,我试图通过决策表创建一个规则引擎。我想对给定列表中的每个值运行一个规则 例如,我有以下条件列: 我正试图按照第6.1.4.3节中的以下代码片段进行操作 其中规定: 根据模式forall(delimiter){snippet}展开文本,方法是对下面每个单元格中以逗号分隔的值列表中的每个值重复一次代码段,插入值代替符号$,并通过给定的分隔符连接这些展开。请注意,forall结构可能被其他文本包围 但是,当我尝试上述代码段条件时,出现以下错误: java.lang.RuntimeException

我试图通过决策表创建一个规则引擎。我想对给定列表中的每个值运行一个规则

例如,我有以下条件列:

我正试图按照第6.1.4.3节中的以下代码片段进行操作

其中规定:

根据模式forall(delimiter){snippet}展开文本,方法是对下面每个单元格中以逗号分隔的值列表中的每个值重复一次代码段,插入值代替符号$,并通过给定的分隔符连接这些展开。请注意,forall结构可能被其他文本包围

但是,当我尝试上述代码段条件时,出现以下错误:

java.lang.RuntimeException: Error while creating KieBase[Message [id=1, kieBase=rules, level=ERROR, path=rules_for_jpmc.xls, line=7, column=0
   text=[ERR 102] Line 7:123 mismatched input 'param' in rule "Green Scenario 1.2"], Message [id=2, kieBase=rules, level=ERROR, path=rules_for_jpmc.xls, line=0, column=0
   text=Parser returned a null Package]]

我只想在pizza和calzone上运行
productCurrent==$param
,如果其中一个条件满足,则该条件为true,而不必使用$1、$2等。是否有一种模式可以在参数列表上运行条件?

请添加更多信息以更好地理解该问题。添加示例java对象和实际规则。基于这个错误,我只能说DRL解析器无法获取'param'变量\在6.1.4.4中有一个例子:
example 6.1。插值单元格数据如果模板为Foo(bar==$param),单元格为42,则结果为Foo(bar==42)。如果模板是Foo(bar<1,baz==2),并且单元格包含42,43,则结果将是Foo(bar<42,baz==43)。对于包含42,43个单元格的all(&&){bar!=$}模板,结果为bar!=42&&bar!=43.
分隔符是二进制逻辑运算符,不能使用值分隔符,我相信值总是用(逗号)分隔。请添加更多信息以更好地理解问题。添加示例java对象和实际规则。基于这个错误,我只能说DRL解析器无法获取'param'变量\在6.1.4.4中有一个例子:
example 6.1。插值单元格数据如果模板为Foo(bar==$param),单元格为42,则结果为Foo(bar==42)。如果模板是Foo(bar<1,baz==2),并且单元格包含42,43,则结果将是Foo(bar<42,baz==43)。对于包含42,43个单元格的all(&&){bar!=$}模板,结果为bar!=42&&bar!=43.
分隔符是二进制逻辑运算符,不能使用,而不是值分隔符,我相信值总是用(逗号)分隔。