什么是工作流?
官方定义:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完。
我的理解:工作流就是针对程序的业务流程进行自动化管理、执行的流。让业务的执行过程根据我们预定义好的规则不断地触发和执行。它最明显的体现就是在项目中的一些审批操作,比如说员工请假、订单审核等等类似一种流的操作时业务在当前操作完成后自动的跳转进行下一操作
配置Activiti7建表
2010年5月份启动,目前使用最广泛的工作流引擎。使用activiti可以将复杂的业务流程进行抽离,业务流程按照预先定义好的规则执行。将业务流程交给activiti去管理使得当业务发生变更时不需要去大量得改动程序,降低了维护成本。
activiti使用专门的建模语言BPMN进行定义,BPMN就是一组定义好的符号语言,使用这些符号来模拟整个复杂业务的执行流程
activiti的配置文件:实际上也是利用spring来配置的xml文件,其中主要配置的就是一个数据源以及注册引擎配置类Bean实例,通过流程引擎配置类ProcefssEngineConfiguration,我这里使用的是druid连接池,然后将连接池引入到ProcefssEngineConfiguration中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/contex http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
<!--数据源配置druid -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/activiti?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC" />
<property name="username" value="root" />
<property name="password" value="123456" />
</bean>
<!--activiti单独运行的ProcessEngine配置对象(processEngineConfiguration),使用单独启动方式 默认情况下:bean的id=processEngineConfiguration -->
<!--默认创建时 该id名必须不可变 processEngineConfiguration-->
<bean id="processEngineConfiguration"
class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<!--代表数据源 -->
<property name="dataSource" ref="dataSource"></property>
<!--代表是否生成表结构 -->
<property name="databaseSchemaUpdate" value="true" />
</bean>
</beans>
第一次使用activiti需要去生成如下25张数据表,我们只需要通过获取ProcessEngine就可以自动创建
public void test01(){
// 创建activiti表 后期有ProcessEngine帮助我们管理
// 默认创建方式
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
System.out.println(processEngine);
// 自定义创建方式
ProcessEngineConfiguration processEngineConfigurationFromResource =
ProcessEngineConfiguration
.createProcessEngineConfigurationFromResource("自定义文件名","自定义bean名");
}
自定义创建方式,更加灵活。activiti的配置文件命名以及processEngineConfiguration的id命名都可以自定义
databaseSchemaUpdate是指activiti的表生成策略,true标识如果数据库中已经存在则直接使用,如果不存在则先创建再使用
activiti核心组件PageEngine
activiti的核心就是ProcessEngine,就是工作流引擎。那么通过ProcessEngine可以调用不同的

最低0.47元/天 解锁文章
1020

被折叠的 条评论
为什么被折叠?



