activity学习笔记

打印 上一主题 下一主题

主题 535|帖子 535|积分 1605

Activity 学习笔记

activiti是什么?

业务流程管理(BPM)框架,开发人员可直接通过手绘流程图的方式,实现业务流程的控制。

  • 官网:http://www.activiti.org/
  • 下载:http://www.activiti.org/download.html
  • 核心思想:Engine(引擎)-将业务中核心规则抽象出来。以相对稳定的API计算表达式。
  • 建模语言BPMN:Business Process Model And Notation(业务流程模型和符号),描述业务流程的一种建模标准。使用各种符号描述流程中的各种事件,通过符号间的连线描述一个完整的业务。
使用步骤:


  • 部署acitiviti:
  • 编辑定义流程(BPMN):
  • 部署流程定义:
  • 启动流程实例:
  • 用户查询代办事项(Task):
  • 用户办理完成任务:
  • 流程结束:



  • 25张表:act开头
  • re:静态数据和资源表
  • ru:运行过程中产生的数据
  • ge:通用数据
核心服务引擎:processEngine



  • RuntimeService:
  • TaskService:
  • HistoryService:
  • RepositoryService:
  • ProcessInstance:
  • ManagementService:
创建BPMN:

可以使用activiti-explorer编辑流程文件,或IDEA、Eclipse插件编辑。
可以参考这篇博文:Activiti介绍与官方demo使用(activiti-explorer)与25表的解析
单个部署流程定义,文件上传方式:


  • 流程定义:

  • 创建ProcessEngine实例
  • 获取RepositoryService实例
  • 使用RepositoryService进行部署,上传资源
  • 得到Deployments实例,查看部署信息


  • 启动流程实例:

  • 创建ProcessEngine实例
  • 获取RuntimeService实例
  • 获取ProcessInstance实例


  • 发起流程:
  • 1.act_re_deployment:  记录部署操作
  • 2.act_re_procdef:流程定义信息
  • 3.act_ge_bytearray:资源文件保存
两种流程部署方式:

1.单个部署
2.zip压缩文件上传部署
Activiti整合Spring

创建MAVEN工程


  • 使用IDEA创建maven工程。
导入依赖

以下为本人测试时引入依赖,可以参考:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5.     <modelVersion>4.0.0</modelVersion>
  6.     <groupId>org.example</groupId>
  7.     <artifactId>activitiDemo</artifactId>
  8.     <version>1.0-SNAPSHOT</version>
  9.     <properties>
  10.         <maven.compiler.source>8</maven.compiler.source>
  11.         <maven.compiler.target>8</maven.compiler.target>
  12.         <activiti.version>7.0.0.Beta1</activiti.version>
  13.         <slf4j.version>1.7.7</slf4j.version>
  14.         <log4j.version>1.2.12</log4j.version>
  15.     </properties>
  16.    
  17.     <dependencies>
  18.         <dependency>
  19.             <groupId>org.activiti</groupId>
  20.             <artifactId>activiti-engine</artifactId>
  21.             <version>7.0.0.Beta1</version>
  22.         </dependency>
  23.         <dependency>
  24.             <groupId>org.activiti</groupId>
  25.             <artifactId>activiti-spring</artifactId>
  26.             <version>${activiti.version}</version>
  27.         </dependency>
  28.         <dependency>
  29.             <groupId>org.activiti</groupId>
  30.             <artifactId>activiti-bpmn-model</artifactId>
  31.             <version>${activiti.version}</version>
  32.         </dependency>
  33.         <dependency>
  34.             <groupId>org.activiti</groupId>
  35.             <artifactId>activiti-bpmn-converter</artifactId>
  36.             <version>${activiti.version}</version>
  37.         </dependency>
  38.         <dependency>
  39.             <groupId>org.activiti</groupId>
  40.             <artifactId>activiti-bpmn-layout</artifactId>
  41.             <version>${activiti.version}</version>
  42.         </dependency>
  43.         <dependency>
  44.             <groupId>org.activiti.cloud</groupId>
  45.             <artifactId>activiti-cloud-services-api</artifactId>
  46.             <version>${activiti.version}</version>
  47.         </dependency>
  48.         <dependency>
  49.             <groupId>mysql</groupId>
  50.             <artifactId>mysql-connector-java</artifactId>
  51.             <version>8.0.21</version>
  52.         </dependency>
  53.         <dependency>
  54.             <groupId>org.mybatis</groupId>
  55.             <artifactId>mybatis</artifactId>
  56.             <version>3.4.6</version>
  57.         </dependency>
  58.         <dependency>
  59.             <groupId>commons-dbcp</groupId>
  60.             <artifactId>commons-dbcp</artifactId>
  61.             <version>1.4</version>
  62.         </dependency>
  63.         <dependency>
  64.             <groupId>junit</groupId>
  65.             <artifactId>junit</artifactId>
  66.             <version>4.12</version>
  67.             <scope>test</scope>
  68.         </dependency>
  69.         <dependency>
  70.             <groupId>log4j</groupId>
  71.             <artifactId>log4j</artifactId>
  72.             <version>${log4j.version}</version>
  73.         </dependency>
  74.         <dependency>
  75.             <groupId>org.slf4j</groupId>
  76.             <artifactId>slf4j-api</artifactId>
  77.             <version>${slf4j.version}</version>
  78.         </dependency>
  79.         <dependency>
  80.             <groupId>org.slf4j</groupId>
  81.             <artifactId>slf4j-log4j12</artifactId>
  82.             <version>${slf4j.version}</version>
  83.         </dependency>
  84.     </dependencies>
  85. </project>
复制代码
日志信息配置文件

日志信息配置文件log4j.properties
  1. log4j.rootCategory=debug, CONSOLE, LOGFILE
  2. log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
  3. log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
  4. log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
  5. log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n
  6. log4j.appender.LOGFILE=org.apache.log4j.FileAppender
  7. log4j.appender.LOGFILE.file=E:/act/activiti.log
  8. log4j.appender.LOGFILE.Append=true
  9. log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
  10. log4j,appender.LOGFILE.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n
复制代码
Activiti引擎配置文件

Activiti引擎配置文件activiti.cfg.xml,配置数据连接信息。如果不指定默认使用H2数据库。这里配置使用mysql。
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  5.     <bean id="processEngineConfiguration" >
  6.         
  7.         <property name="jdbcDriver" value="com.mysql.cj.jdbc.Driver"/>
  8.         
  9.         <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC"/>
  10.         
  11.         <property name="jdbcUsername" value="root"/>
  12.         
  13.         <property name="jdbcPassword" value="123456"/>
  14.         
  15.         <property name="databaseSchemaUpdate" value="true"/>
  16.     </bean>
  17. </beans>
复制代码
启动测试

编写测试类,使用引擎工具类ProcessEngines.getDefaultProcessEngine()启动;
  1. public class ActivitiTest {
  2. @Test
  3. public void testCreateDbTable(){
  4.   //需要使用activiti提供的工具类
  5.   ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
  6.   System.out.println("****processEngine is :****"+processEngine);
  7. }
  8. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

海哥

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表