流程部署
2024年3月26日小于 1 分钟
流程部署
进行流程部署时,需要关注3张表,忽略1张表:
- ACT_RE_DEPLOYMENT 部署一次新增一条记录,是流程定义部署记录表。
- **ACT_RE_PROCDEF ** 此表的KEY_字段用来区分不同的流程定义(如:工单流程、白名单流程、请假流程、辞职流程等)。
- ACT_GE_BYTEARRAY :
.bpmn
、.png
等二进制文件都放在这里。 - ACT_GE_PROPERTY : 操作属性表,每次操作数据库,这张表都会变动。
基于模型部署的时候需要解决一个问题:流程图数据结构的解析与反解析。
流程图数据结构解析与反解析
开发工作流引擎,需要前后端定义好流程图的数据结构,一般有两种:JSON 或 XML,这一步决定了流程能否成功部署。
JSON 2 BpmlModel 2 XML
// modelEditorSource 为JSON结构时
ObjectNode objectNode = (ObjectNode) new ObjectMapper().readTree(modelEditorSource);
BpmnModel bpmnModel = new BpmnJsonConverter().convertToBpmnModel(objectNode);
byte[] bytes = new BpmnXMLConverter().convertToXML(bpmnModel);
new String(bytes, StandardCharsets.UTF_8);
JSON格式的流程图:

转换成XML后:

XML 2 BpmnModel 2 XML
略。