在 Flowable 中,自定义参数通常不是直接保存在数据库表中的。相反,它们是在运行时通过代码动态设置的,并且通常作为流程变量(Process Variables)保存在数据库中。流程变量是保存在 ACT_RU_VARIABLE
表中,这是 Flowable 运行时数据库的一部分。
以下是 Flowable 数据库中与流程变量相关的表:
ACT_RU_VARIABLE
:保存运行时的流程变量。ACT_HI_VARINST
:保存历史的流程变量。
当您在 BPMN XML 中为监听器添加自定义参数时,这些参数在流程执行时会被转换为流程变量,并保存在 ACT_RU_VARIABLE
表中。一旦流程实例结束,相关的流程变量可能会被转移到历史表 ACT_HI_VARINST
中,具体取决于 Flowable 的配置和历史级别。
例如,如果您在 BPMN XML 中定义了如下自定义参数:
xml
<flowable:executionListener event=“start” class=“com.example.MyExecutionListener”>
<flowable:field name=“customParam1” stringValue=“Value1” />
<flowable:field name=“customParam2” stringValue=“Value2” />
</flowable:executionListener>
在流程执行时,这些参数会被添加到 DelegateExecution
对象的变量映射中,并最终保存在 ACT_RU_VARIABLE
表中。您可以通过以下 SQL 查询来查看这些变量:
sql
SELECT * FROM ACT_RU_VARIABLE WHERE PROC_INST_ID_ = [流程实例ID] AND NAME_ IN (‘customParam1’, ‘customParam2’);
其中 [流程实例ID]
是您要查询的特定流程实例的 ID。
如果您想要查看已经完成的流程实例的变量,您可能需要查询 ACT_HI_VARINST
表:
sql
SELECT * FROM ACT_HI_VARINST WHERE PROC_INST_ID_ = [流程实例ID] AND NAME_ IN (‘customParam1’, ‘customParam2’);
请记住,这些自定义参数仅在流程执行期间作为流程变量存在,并且只有在您在监听器或其他流程逻辑中明确地将它们设置为流程变量时,它们才会被保存在数据库中。如果自定义参数没有在代码中被显式地设置为流程变量,它们将不会被保存在数据库中。