- 作者:老汪软件技巧
- 发表时间:2024-10-14 21:02
- 浏览量:
本文主要讲解Camunda是如何使用Dmn决策引擎,体验地址:
Dmn决策表定义
Dmn在线设计
命中策略(Hit Policy)策略名称策略描述
Unique
只有一个或者没有规则可以满足。决策表的结果包含满足规则的输出条目。如果超过一个规则满足,那么就违反了唯一命中策略。
Any
多个规则可以满足,然后所有满足的规则都必须有相同的输出
First
多个规则可以满足。决策表结果只包含第一个满足规则的输出
Rule Order
多个规则可以满足。决策表包含所有满足规则的输出,且按照规则在决策表中的顺序排序。
Collect
多个结果满足。决策表以任意顺序包含所有满足条件的输出结果。
集合中命中聚合器(Aggregators for Collect Hit Policy)标题描述
Collect(Sum)
所有输出值的求和
Collect(Min)
所有输出值最小的一个
Collect(Max)
所有输出值最大的一个
Collect(Count)
所有输出值的个数
文字表达式(Literal Expression)
这个文字表达式指定了决策的值是如何生成的。这是一个会被DMN引擎执行的表达式。它可以被用作复杂的计算,去调用一个提供了决策逻辑的bean,或者组合输出需求决策的值
<literalExpression>
<text>calendar.getSeason(date)text>
literalExpression>
表达式被设置在xml中literalExpression元素内的text元素中
<literalExpression expressionLanguage="groovy">
<text>calendar.getSeason(date)text>
literalExpression>
可以通过literalExpression的expressionLanguage属性指定文字表达式的表达式语言。支持的表达式语言详见用户指南
决策需求图
决策需求图(DRG)为决策领域建模,展示相关的最重要的元素和它们的依赖关系。建模的元素是决策(decisions),输入数据(input data),和知识源(knowledge sources)。在线预览需求图
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/" id="dinnerDecisions" name="Dinner Decisions" namespace="http://camunda.org/schema/1.0/dmn">
<decision id="dish" name="Dish">
decision>
<decision id="beverages" name="Beverages">
decision>
definitions>
在xml中的DRG的表示
参考链接
DMN 决策使用
Business Rule Task 业务规则任务
camunda-dmn