当前位置:网站首页>工作流—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)
边栏推荐
猜你喜欢
一改测试步骤代码就全写 为什么不试试用 Yaml实现数据驱动?
Advanced Computer Network Review(3)——BBR
Intel distiller Toolkit - Quantitative implementation 2
【文本生成】论文合集推荐丨 斯坦福研究者引入时间控制方法 长文本生成更流畅
KDD 2022 paper collection (under continuous update)
Improved deep embedded clustering with local structure preservation (Idec)
Redis core configuration
Master slave replication of redis
Advanced Computer Network Review(4)——Congestion Control of MPTCP
The carousel component of ant design calls prev and next methods in TS (typescript) environment
随机推荐
Advanced Computer Network Review(3)——BBR
Redis' performance indicators and monitoring methods
Redis geospatial
xargs命令的基本用法
基于WEB的网上购物系统的设计与实现(附:源码 论文 sql文件)
The carousel component of ant design calls prev and next methods in TS (typescript) environment
[OC-Foundation框架]--<Copy对象复制>
LeetCode:124. Maximum path sum in binary tree
Kratos战神微服务框架(三)
[oc]- < getting started with UI> -- common controls - prompt dialog box and wait for the prompt (circle)
Redis之Bitmap
LeetCode:387. The first unique character in the string
Redis之Lua脚本
Redis之核心配置
[daily question] Porter (DFS / DP)
Servlet learning diary 7 -- servlet forwarding and redirection
I-BERT
Pytest之收集用例规则与运行指定用例
Global and Chinese market of bank smart cards 2022-2028: Research Report on technology, participants, trends, market size and share
Pytest parameterization some tips you don't know / pytest you don't know