DMN模型在AWS PaaS平台的使用目前支持如下场景:
DMN模型多版本智能处理
DMN模型支持多版本且各版本的决策数据相互隔离,有关版本的介绍参见这里。在AWS PaaS平台各应用场景里DMN引擎在执行时,会智能获取返回对应版本的决策数据。
对于实施和开发人员,这是一个重要概念。每个DMN模型(包括不同版本)都会分配一个不重复的模型ID,当DMN模型被创建多个版本时,设计器会取第一个版本作为DMN模型版本ID。
我们假设一个DMN模型的版本结构如下:
| 版本ID | 模型ID | 版本号 |
|---|---|---|
| aaa | aaa | 1.0 |
| aaa | bbb | 2.0 |
| aaa | ccc | 3.0 |

在所有应用场景中dmnDefId参数,可以传入模型IDbbb或ccc,也可以传入版本IDaaa ,作者推荐传入版本IDaaa。当传入版本ID时@dmn 和SDK.getRuleAPI().executeDmn 会智能获取对应版本。版本ID的出现,避免了开发者硬代码对特定流程模型的锁定。
如果将模型ID作为参数值,DMN引擎会强行执行该版本的模型定义,无论该决策模型是否有了新的版本。
当前DEV开发环境时:
参数dmnDefId指定的值 |
说明 |
|---|---|
| 模型ID且不同于版本ID | - 如果版本可用,使用该模型 - 如果版本停用,抛出错误 |
| 版本ID | - 优先使用高版本设计版- 候选使用 发布版- 如果没有可用版本,抛出错误 |
当前是PRD生产环境、QAS测试环境、TEST压测环境时:
参数dmnDefId指定的值 |
说明 |
|---|---|
| 模型ID且不同于版本ID | - 如果版本可用,使用该模型 - 如果版本停用,抛出错误 |
| 版本ID | - 优先使用发布版- 候选使用 设计版- 如果没有可用版本,抛出错误 |


