工作流-流程部署
来源:互联网 发布:java贪吃蛇游戏源代码 编辑:程序博客网 时间:2024/05/21 17:31
流程图:
环境配置:
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"><!-- 注册一个流程引擎配置对象 --><bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"><property name="jdbcDriver" value="com.mysql.jdbc.Driver"/><property name="jdbcUrl" value="jdbc:mysql:///stu"/><property name="jdbcUsername" value="root"/><property name="jdbcPassword" value="123456"/><property name="databaseSchemaUpdate" value="true"/></bean><!-- 使用工厂bean创建流程引擎对象 --><bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean"><!-- 注入上面的配置对象 --><property name="processEngineConfiguration" ref="processEngineConfiguration"/></bean></beans>
流程部署:act_re_deployment(流程部署表) act_re_procedef(流程定义表) act_re_model(流程设计模型表)
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();// 获取仓库服务// 部署流程定义读取单个文件的方式部署流程定义@Testpublic void demo1(){DeploymentBuilder deploymentBuilder = processEngine.getRepositoryService().createDeployment();deploymentBuilder.addClasspathResource("demo1.bpmn");deploymentBuilder.addClasspathResource("demo1.png"); Deployment deployment = deploymentBuilder.deploy();System.out.println(deployment.getId());}// 通过zip的方式部署流程定义@Testpublic void demo2(){DeploymentBuilder deploymentBuilder = processEngine.getRepositoryService().createDeployment();ZipInputStream zipInputStream = new ZipInputStream(this.getClass().getClassLoader().getResourceAsStream("process.zip"));deploymentBuilder.addZipInputStream(zipInputStream);Deployment deployment = deploymentBuilder.deploy();System.out.println(deployment.getId());}
部署信息操作:
// 查询部署信息列表--查询部署表中的数据act_re_deployment@Testpublic void demo3(){DeploymentQuery mq = processEngine.getRepositoryService().createDeploymentQuery();List<Deployment> dyList = mq.list();for(Deployment dy: dyList){System.out.println(dy.getId());}}// 查询流程定义表---查询流程定义act_re_procdef@Testpublic void demo4(){ProcessDefinitionQuery pdq = processEngine.getRepositoryService().createProcessDefinitionQuery();List<ProcessDefinition> pdfList = pdq.list();for(ProcessDefinition pd : pdfList){System.out.println(pd.getId());}}//act_re_deployment@Testpublic void demo5(){String deploymentId = "401";boolean cascade = true;// 是否级联删除processEngine.getRepositoryService().deleteDeployment(deploymentId,cascade);}
启动流程实例:
启动的同时会在:表 ACT_RE_TASK 和 ACT_RU_EXECUTION 中创建数据:
ACT_RE_TASK :
字段说明:execution_id_ 实例ID(外键), proc_inst_id_ 流程实例ID 分别关联表ACT_RE_EXECUTION 中的 ID(主键),和proc_inst_id(流程实例ID)。
ACT_RE_EXECUTION:
除了在流程中启动的子流程之外,流程启动之后在表ACT_RU_EXECUTION中的字段ID_和PROC_INST_ID_字段值是相同的.
2) 值不相等的情况:
不相等的情况目前只会出现在子流程中(包含:嵌套、引入),例如一个购物流程中除了下单、出库节点之外可能还有一个付款子流程,在实际企业应用中付款流程通常是作为公用的,所以使用子流程作为主流程(购物流程)的一部分。
当任务到达子流程时引擎会自动创建一个付款流程,但是这个流程有一个特殊的地方,在数据库可以直观体现,
两条数据,第二条数据(嵌入的子流程)的PARENT_ID_等于第一条数据的ID_和PROC_INST_ID_,并且两条数据的PROC_INST_ID_相同。
还有一点特殊的地方,字段IS_ACTIVE_的值分别是0和1,说明正在执行子流程主流程挂起
// 启动流程实例@Testpublic void demo6(){// 根据 act_re_procdef(key) 关键字/*String kye="splc";ProcessInstance pi = processEngine.getRuntimeService().startProcessInstanceByKey(kye);*/// 根据act_re_procdef(Id) 关键字String Id = "GZLC:1:1704";ProcessInstance pi = processEngine.getRuntimeService().startProcessInstanceById(Id);System.out.println(pi.getId());}// 查询流程实例@Testpublic void demo7(){ProcessInstanceQuery piq = processEngine.getRuntimeService().createProcessInstanceQuery();List<ProcessInstance> list = piq.list();for (ProcessInstance pi : list) {System.out.println(pi.getId());}}
0 0
- 工作流-流程部署
- activiti工作流03-流程部署
- 工作流部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- web流程设计器整合视频教程 SSM和独立部署 activiti工作流
- WebView加载图片超过屏幕大小的问题
- day88_shiro_2
- vim编辑器
- 机器智能相关资料
- mysql中isnull,ifnull,nullif的用法
- 工作流-流程部署
- mAP在计算机视觉中的应用
- Java获取硬盘,CPU等信息
- 这几个问题答不对,就别说精通TCP
- js 复制文本的四种方式
- L2-022. 重排链表(变型)
- android中在线程中随时更新UI控件的值
- PHP排序算法系列:直接选择排序
- opencv函数解析目录