当前位置:网站首页>工作流—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)
边栏推荐
- Advance Computer Network Review(1)——FatTree
- LeetCode:673. Number of longest increasing subsequences
- Nacos installation and service registration
- Redis geospatial
- KDD 2022 paper collection (under continuous update)
- Global and Chinese market of appointment reminder software 2022-2028: Research Report on technology, participants, trends, market size and share
- Redis之发布订阅
- 五层网络体系结构
- LeetCode:394. String decoding
- [OC-Foundation框架]---【集合数组】
猜你喜欢
Advanced Computer Network Review(4)——Congestion Control of MPTCP
Mathematical modeling 2004b question (transmission problem)
BN folding and its quantification
Kratos ares microservice framework (II)
[OC]-<UI入门>--常用控件的学习
Pytest's collection use case rules and running specified use cases
[text generation] recommended in the collection of papers - Stanford researchers introduce time control methods to make long text generation more smooth
Servlet learning diary 7 -- servlet forwarding and redirection
Redis之Bitmap
CUDA实现focal_loss
随机推荐
Solve the problem of inconsistency between database field name and entity class attribute name (resultmap result set mapping)
[text generation] recommended in the collection of papers - Stanford researchers introduce time control methods to make long text generation more smooth
Digital people anchor 618 sign language with goods, convenient for 27.8 million people with hearing impairment
Pytest之收集用例规则与运行指定用例
Improved deep embedded clustering with local structure preservation (Idec)
Persistence practice of redis (Linux version)
Kratos ares microservice framework (I)
LeetCode:387. The first unique character in the string
Advanced Computer Network Review(4)——Congestion Control of MPTCP
xargs命令的基本用法
Once you change the test steps, write all the code. Why not try yaml to realize data-driven?
Redis之Bitmap
Redis之Geospatial
LeetCode41——First Missing Positive——hashing in place & swap
Heap (priority queue) topic
Kratos战神微服务框架(二)
Selenium+Pytest自动化测试框架实战(下)
LeetCode:236. The nearest common ancestor of binary tree
Intel Distiller工具包-量化实现3
LeetCode:124. Maximum path sum in binary tree