activiti流程定义部署及查询

activiti流程定义部署及查询

2023年8月1日发(作者:)

activiti流程定义部署及查询package sDefinition;import tream;import ;import utStream;import sEngine;import sEngines;import ment;import sDefinition;import ;public class ProcessDefinitionTest { ProcessEngine processEngine = aultProcessEngine();

@Autowired private RepositoryService repositoryService;/** * 根据modelId部署模型 * @param modelId * @param response * @param request * @return */ @RequestMapping("/deploy") @ResponseBody public Map deploy(final String modelId, HttpServletResponse response,final HttpServletRequest request) { OperateTemplete templete = new HttpTemplete(request) { protected void doSomething() throws BizException { JSONObject result = new JSONObject(); try { Model modelData = el(modelId); ObjectNode modelNode = (ObjectNode) new ObjectMapper().readTree(elEditorSource(())); byte[] bpmnBytes = null; BpmnModel model = new BpmnJsonConverter().convertToBpmnModel(modelNode); bpmnBytes = new BpmnXMLConverter().convertToXML(model); String processName = e() + "."; DeploymentBuilder db = Deployment().name(e()); Deployment deployment = ing(processName, new String(bpmnBytes,"utf-8")).deploy(); } catch (Exception e) { tackTrace(); throw new BizException("部署失败"); } } }; return e(); }

/* *部署流程定义 (从classpath) */ @Test public void deploymentProcessDefinition_classpath(){ Deployment deployment = ositoryService()//与流程定义和部署对象相关的Service .createDeployment()//创建⼀个部署对象 .name("流程定义")//添加部署名称 .addClasspathResource("diagrams/")//从classpath的资源中加载,⼀次只能加载⼀个⽂件 .addClasspathResource("diagrams/") .deploy();//完成部署 .deploy();//完成部署 n("部署ID:"+()); n("部署名称:"+e());

}

/* *部署流程定义 (从zip) */ @Test public void deploymentProcessDefinition_zip(){ InputStream in = ss().getClassLoader().getResourceAsStream("diagrams/"); ZipInputStream zipInputStream = new ZipInputStream(in); Deployment deployment = ositoryService()//与流程定义和部署对象相关的Service .createDeployment()//创建⼀个部署对象 .name("流程定义")//添加部署名称 .addZipInputStream(zipInputStream)//完成zip⽂件的部署 .deploy();//完成部署 n("部署ID:"+()); n("部署名称:"+e());

}

/* * 查询流程定义 */ @Test public void findProcessDefinition(){ List list = ositoryService()//与流程定义和部署对象相关的Service .createProcessDefinitionQuery()//创建⼀个流程定义查询 /*指定查询条件,where条件*/ //.deploymentId(deploymentId)//使⽤部署对象ID查询 //.processDefinitionId(processDefinitionId)//使⽤流程定义ID查询 //.processDefinitionKey(processDefinitionKey)//使⽤流程定义的KEY查询 //.processDefinitionNameLike(processDefinitionNameLike)//使⽤流程定义的名称模糊查询

/*排序*/ .orderByProcessDefinitionVersion().asc()//按照版本的升序排列 //.orderByProcessDefinitionName().desc()//按照流程定义的名称降序排列

.list();//返回⼀个集合列表,封装流程定义 //.singleResult();//返回唯⼀结果集 //.count();//返回结果集数量 //.listPage(firstResult, maxResults)//分页查询

if(list != null && ()>0){ for(ProcessDefinition processDefinition:list){ n("流程定义ID:"+());//流程定义的key+版本+随机⽣成数 n("流程定义名称:"+e());//对应⽂件中的name属性值 n("流程定义的key:"+());//对应⽂件中的id属性值 n("流程定义的版本:"+sion());//当流程定义的key值相同的情况下,版本升级,默认从1开始 n("资源名称bpmn⽂件:"+ourceName()); n("资源名称png⽂件:"+gramResourceName()); n("部署对象ID:"+loymentId()); n("################################"); } }

}

}相关的表:select * from act_re_model;#模型表SELECT * FROM _re_deployment a; #部署对象表 SELECT * FROM _re_procdef a; #流程定义表 SELECT * FROM _ge_bytearray a;# 资源⽂件表

SELECT * FROM _ge_property a; #主键⽣成策略表

发布者:admin,转转请注明出处:http://www.yc00.com/web/1690873126a451997.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信