当前位置:网站首页>工作流—activiti7环境搭建
工作流—activiti7环境搭建
2022-07-06 09:00:00 【java领域】
1. 什么是工作流
工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者 之间按照某种预定义
的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标, 或者促使此目标的实现”。
2. 搭建activiti环境
2.1 什么是activiti
Alfresco 软件在 2010 年 5 月17 日宣布Activiti 业务流程管理(BPM)开源项目的正式启动,其首席架构师由业务流程管理BPM
的专家 Tom Baeyens 担任,Tom Baeyens 就是原来 jbpm 的架构师,而 jbpm 是一个非常有名的工作流引擎,当然activiti 也是一个工作流引擎。
Activiti 是一个工作流引擎, activiti 可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言(BPMN2.0)进行定义,
业务系统按照预先定义的流程进行执行,实现了业务系统的业务 流程由activiti 进行管理,减少业务系统由于流程变更进行系统升
级改造的工作量,从而提高系统的健壮性,同时也减少了系统开发维护成本。
2.2 打开IDEA —> File —> Settings —> Plugins
选择路径将已经下载好的jar包选中 idea插件官网:
https://plugins.jetbrains.com/
选中后重启
此时我们可以在新建中看到BpmmFile
3. 创建bpmn文件制作流程控制图
4. 开发环境
4.1 导入依赖
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<slf4j.version>1.6.6</slf4j.version>
<log4j.version>1.2.12</log4j.version>
</properties>
<dependencies>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>7.0.0.Beta1</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>7.0.0.Beta1</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-bpmn-model</artifactId>
<version>7.0.0.Beta1</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-bpmn-converter</artifactId>
<version>7.0.0.Beta1</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-json-converter</artifactId>
<version>7.0.0.Beta1</version>
</dependency>
<!-- <dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-bpmn-layout</artifactId>
<version>7.0.0.Beta1</version>
</dependency>-->
<dependency>
<groupId>org.activiti.cloud</groupId>
<artifactId>activiti-cloud-services-api</artifactId>
<version>7.0.0.Beta1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!-- log start -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- log end -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
</dependencies>
4.2 创建Activiti配置文件 activiti.cfg.xml(提前创建好数据库)
<!--数据源-->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/activiti-y2170"/>
<property name="username" value="root"/>
<property name="password" value="123"/>
</bean>
<!--配置Activiti使用的processEngine对象 默认命名为processEngineConfiguration-->
<bean id="processEngineConfiguration01" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<!--注入数据源-->
<property name="dataSource" ref="dataSource"/>
<!--配置数据源方式二:-->
<!--<property name="jdbcDriver" value="com.mysql.jdbc.Driver"/>-->
<!--指定数据库生成策略-->
<property name="databaseSchemaUpdate" value="true"/>
</bean>
4.3 创建日志配置文件
# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE debug info warn error fatal
log4j.rootCategory=debug, CONSOLE, LOGFILE
# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n
# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:\axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n
4.4 创建测试类加载配置文件
public static void main(String[] args) {
//加载配置
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
//获取ProcessEngine对象
ProcessEngine processEngine = configuration.buildProcessEngine();
}
4.5 启动项目后数据库会新增25张表
如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,
咱们下期见!学习更多JAVA知识与技巧(获取原文),关注与私信博主(666)
边栏推荐
- LeetCode:34. Find the first and last positions of elements in a sorted array
- Notes 01
- [three storage methods of graph] just use adjacency matrix to go out
- Redis之主从复制
- Pytest's collection use case rules and running specified use cases
- Simclr: comparative learning in NLP
- Reids之删除策略
- Ijcai2022 collection of papers (continuously updated)
- 【shell脚本】使用菜单命令构建在集群内创建文件夹的脚本
- 甘肃旅游产品预订增四倍:“绿马”走红,甘肃博物馆周边民宿一房难求
猜你喜欢
随机推荐
Mise en œuvre de la quantification post - formation du bminf
基于B/S的影视创作论坛的设计与实现(附:源码 论文 sql文件 项目部署教程)
Basic usage of xargs command
Pytest之收集用例规则与运行指定用例
Improved deep embedded clustering with local structure preservation (Idec)
Simclr: comparative learning in NLP
LeetCode:387. The first unique character in the string
CUDA realizes focal_ loss
Pytest参数化你不知道的一些使用技巧 /你不知道的pytest
In depth analysis and encapsulation call of requests
【文本生成】论文合集推荐丨 斯坦福研究者引入时间控制方法 长文本生成更流畅
Opencv+dlib realizes "matching" glasses for Mona Lisa
Multivariate cluster analysis
Redis之核心配置
Selenium+pytest automated test framework practice
[OC foundation framework] - string and date and time >
Redis之连接redis服务命令
Reids之缓存预热、雪崩、穿透
Pytest's collection use case rules and running specified use cases
Sentinel mode of redis