activiti 根据模型id部署流程

感觉每次画流程图好麻烦,但是又无可奈何,生无可恋,项目上我都是用流程设计器画好了。

通过流程设计器保存的流程信息其中都会保存到act_re_model 里面,根据model_id 部署流程

部署流程关键代码  根据act_re_model 中的id_ 部署流程  

将RepositoryService注入进来就可以了
            // 获取模型
			Model model = repositoryService.getModel(id);
			ObjectNode objectNode = (ObjectNode) new ObjectMapper().readTree(repositoryService.getModelEditorSource(model.getId()));
			BpmnModel bpmnModel = new BpmnJsonConverter().convertToBpmnModel(objectNode);

			String processName = model.getName()+".bpmn20.xml";
			byte[] bytes = new BpmnXMLConverter().convertToXML(bpmnModel);
			// 部署流程
			Deployment deployment = repositoryService
					.createDeployment().name(model.getName())
					.addString(processName, new String(bytes,"UTF-8"))
					.deploy();

数据库表变更

    

             在部署流程定义这一步

        ACT_RE_DEPLOYMENT(部署对象表)

         存放流程定义的显示名和部署时间,每部署一次增加一条记录

         

        ACT_RE_PROCDEF(流程定义表)

         存放流程定义的属性信息,部署每个新的流程定义都会在这张表中增加一条记录。

              注意:当流程定义的key相同的情况下,使用的是版本升级

       

       
        ACT_GE_PROPERTY(主键生成表)

         主张表将生成下次流程部署的主键ID。

         

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值