Activiti——整合Spring

Spring Boot整合Activiti工作流详解 通过Spring Boot与Activiti的整合,可以快速构建基于工作流的业务系统,大大提高开发效率和系统灵活性。 阅读详情

Activiti整合Spring

1、引入依赖

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>activiti7_spring</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <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>aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.5.4</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>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.0.7.RELEASE</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>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-nop</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>
    <repositories>
        <repository>
            <id>alfresco</id>
            <name>Activiti Releases</name>
            <url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-releases/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
        </repository>
    </repositories>
</project>

2、Spring配置文件

activiti-spring.xml

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd">
    <!-- 数据源 -->
    <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/activiti7"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
        <property name="maxActive" value="3"/>
        <property name="maxIdle" value="1"/>
    </bean>
    <!-- 工作流引擎配置bean -->
    <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
        <!-- 数据源 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 使用spring事务管理器 -->
        <property name="transactionManager" ref="transactionManager"/>
        <!-- 数据库策略 -->
        <property name="databaseSchemaUpdate" value="drop-create"/>
    </bean>
    <!-- 流程引擎 -->
    <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
        <property name="processEngineConfiguration" ref="processEngineConfiguration"/>
    </bean>
    <!-- 资源服务service -->
    <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService"/>
    <!-- 流程运行service -->
    <bean id="runtimeService" factory-bean="processEngine"  factory-method="getRuntimeService"/>
    <!-- 任务管理service -->
    <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService"/>
    <!-- 历史管理service -->
    <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService"/>
    <!-- 事务管理器 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    <!-- 通知 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <!-- 传播行为 -->
            <tx:method name="save*" propagation="REQUIRED"/>
            <tx:method name="insert*" propagation="REQUIRED"/>
            <tx:method name="delete*" propagation="REQUIRED"/>
            <tx:method name="update*" propagation="REQUIRED"/>
            <tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
            <tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
        </tx:attributes>
    </tx:advice>
</beans>

3、创建流程文件

helloworld.bpmn

<process id="myProcess" isClosed="false" isExecutable="true" processType="None">
  <startEvent id="start" name="StartEvent"/>
  <userTask activiti:exclusive="true" id="task" name="UserTask"/>
  <sequenceFlow id="flow1" sourceRef="start" targetRef="task"/>
  <endEvent id="end" name="EndEvent"/>
  <sequenceFlow id="flow2" sourceRef="task" targetRef="end"/>
</process>

4、测试

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:activiti-spring.xml")
public class ActivitiTest {


    @Autowired
    private RepositoryService repositoryService;
    @Autowired
    private RuntimeService runtimeService;
    @Autowired
    private TaskService taskService;
    @Autowired
    private HistoryService historyService;


    @Test
    public void test() {
        Deployment deploy = repositoryService.createDeployment().addClasspathResource("helloworld.bpmn").deploy();
        //启动任务
        ProcessInstance pi = runtimeService.startProcessInstanceByKey("myProcess");
        //查询任务
        Task task = taskService.createTaskQuery().processInstanceId(pi.getId()).singleResult();
        System.out.println("任务名称:" + task.getName());
        //完成Task
        taskService.complete(task.getId());
        //查询历史任务
        long count = historyService.createHistoricTaskInstanceQuery().finished().count();
        System.out.println("完成的Task数量:" + count);
    }
}
任务名称:UserTask
完成的Task数量:1
Spring整合Activiti工作流 代码地址如下:http://www.demodashi.com/demo/11911.html 一、 前期准备安装必要的开发环境 eclipse/intellij+maven 3.5.x + tomcat 7/8/9+mysql 5.x 将sql目录下面的5个SQL文件导入数据库中二、 程序实现1. 项目结构2. 主要配置 流程引擎的配置,在activiti.cfg.xml和spring-myb 阅读详情

相关推荐

Spring boot 整合activiti以及大量实例

1,Spring boot 整合activiti modeler: 感谢其他作者,参考:http://blog.youkuaiyun.com/chenhai201/article/details/72668275 一、首先从官方下载activiti5.22.0版本的全代码包,并在本地解压待用 (https://github.com/Activiti/Activiti/tree/5.22.0-rele

lgllionky的博客 9648

Activiti整合Spring

一、Activiti与Spring整合开发 1.1 Activiti与Spring整合的配置 1)、在pom.xml文件引入坐标 <properties> <slf4j.version>1.6.6</slf4j.version> <log4j.version>1.2.12</log4j.version> </properties> <dependencies>

学习笔记 633

Spring与Activiti7整合实战指南

工作流引擎是企业应用中自动化执行业务流程的关键组件,它控制和管理了任务、活动以及业务流程的整体执行路径。Activiti7是基于Java的工作流与业务流程管理(BPM)平台,适用于复杂的企业应用和流程管理场景。Spring框架是一个开源的Java平台,最初由Rod Johnson和Juergen Hoeller开发,其设计目标是促进普适的、企业级的应用开发。Spring框架透过提供一系列的特性和组件,使得开发者能够构建灵活、可测试且松耦合的应用系统。

weixin_26850469的博客 857

Activiti整合Spring,SpringBoot

一、Activiti与Spring整合开发 1.1 Activiti与Spring整合的配置 1)、在pom.xml文件引入坐标 如下 <properties> <slf4j.version>1.6.6</slf4j.version> <log4j.version>1.2.12</log4j.version> </properties> <dependencies> <depen

Joker_DJ 828

dxf-viewer 查看器

dxf-viewer SDK 的示例,它是一个基于 Three.js 和 Vue3 构建的基于 WebGL 的 BIM 模型查看器。它用于查看 DWG/DXF/PDF 文件。面积测量 - 角度测量 -标记。

qq_25547755的博客 866

KBS投稿全流程拆解:从模板准备到条件接收的实战指南

本文详细拆解了KBS期刊投稿的全流程,从模板准备、投稿系统操作到返修策略和条件接收。重点介绍了Cover Letter撰写技巧、Latex模板选择、审稿周期管理以及返修文件的系统准备方法,帮助研究者高效完成KBS投稿并提升接收概率。

weixin_26938645的博客 703

Java SpringBoot集成Activiti7工作流

Activiti是一个轻量级的工作流程和业务流程管理(BPM)平台,面向商务人士、开发人员和系统管理员。它的核心是适用于Java的超快速和坚如磐石的BPMN 2工艺引擎。它是开源的,并在Apache许可证下分发。Activiti在任何Java应用程序、服务器、集群或云中运行。它与Spring完美集成,重量极轻,基于简单的概念。表分类表名解释一般数据通用的流程定义和流程资源系统相关属性流程历史记录历史的流程实例历史的流程附件历史的说明性信息历史的流程运行中的细节信息。

AstarCloud 3004

麦克斯韦电磁场理论

1)从知识先后上说:麦克斯韦方程组为理解光的传播、反射、折射等现象提供了理论基础。不理解基础,怎么能理解上层建筑。2)从如何学懂上说,把基础学习的越牢,越深刻,后续学习上层建筑就会水到渠成一些,不会越学越多疑问。而是越学越少疑问。

weixin_55255438的博客 2825

Spring和Activiti工作流整合详解

Spring和Activiti工作流整合详解 一、概述 Activiti作为一个流行的开源工作流引擎,正在不断发展,其6.0版本以API形式提供服务,而之前版本基本都是要求我们的应用以JDK方式与其交互,只能将其携带到我们的应用中,而API方式则可以服务器独立运行方式,能够形成一个专网内工作流引擎资源共享的方式。 本篇activiti工作流基于5.17.0。 首发地址: 品茗IT-同步发布 品茗I...

feiyangtianyao的专栏 9153

血管分割中的直径平衡难题:从clDice到cbDice的演进与实践

本文探讨了血管分割中的直径平衡难题,详细分析了从clDice到cbDice的技术演进与实践。通过引入半径感知权重和边界对齐惩罚,cbDice在保持拓扑完整性的同时提升了几何敏感度,显著改善了细小血管的分割效果。文章还分享了在nnU-Net中实现cbDice的工程细节,包括GPU加速骨架提取和多任务损失组合策略,为医学影像分析提供了重要参考。

weixin_29170327的博客 240

PaddleOCR 3.x 最新版使用教程(2025)——从安装到实战身份证识别,一步到位!

本文针对PaddleOCR 3.x大版本更新带来的参数变化和兼容性问题,提供从环境配置到实际应用的全流程解决方案。

qq_58607032的博客 9787

activiti与spring集成

  摘要: 一、集成配置 &lt;bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"&gt;     &lt;property name="driverClass" value="org. 一、集成配置 &lt;bean id="dataSource" 

苏凯的博客 1181

slam_toolbox 简介和使用

专为移动机器人在未知环境中实时构建地图和定位设计。它适用于2D和3D环境,支持多种机器人平台和传感器配置。

weixin_74808846的博客 3306

springboot,spring 整合activiti7 ,这一篇就够了

如下 在Activiti中核心类的是ProcessEngine流程引擎,与Spring整合就是让Spring来管理ProcessEngine通过org.activiti.spring.SpringProcessEngineConfiguration 与Spring整合方式来创建ProcessEngine对象。创建spring与activiti的整合配置文件:activiti-spring.xml(名称不固定) databaseSchemaUpdate的取值内容:flase: 默认值。activi

Edward的博客 2941

QEMU pcie config空间访问机制

而pci_host_conf/data_le_ops的定义是在hw/pci/pci-host.c里,对于0xCF8端口的处理,因为是地址选通,所以只需要在write的时候记录、read的时候返回记录的值即可。而pci_host_config_write/read_common接口,在前256Bconfig空间的模拟中,也同样是会调用这个接口,所以后续的处理都是一样的。这是真实的硬件设计,而对于QEMU+KVM的虚机场景,显然是要基于硬件实现和虚拟化的需求设计虚机访问config空间的完整流程。

leiyanjie8995的博客 1952

Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(二)

DRAM 的发展史

qq_33473931的博客 995

Activiti整合Spring(Boot)

依赖如下: 2 添加整合的配置文件 添加一个 Spring 的配置文件,并在其中完成 Activiti 的整合操作: databaseSchemaUpdate 的取值注意: 通过方法的执行我们能够发现相关的表结构在数据库中完成了创建,说明 Activiti 和 Spring 的整合成功。Activiti7 发布正式版本之后,它和 SpringBoot 2.x 已经完全整合开发了依赖如下: 2 修改配置文件 配置文件即参数说明: 3 整合SpringSecurity 因为 Activiti7 和 Spring

m0_62943934的博客 1408

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Activiti与Spring的整合

1.pom依赖 <!--activiti与spring整合相关坐标引入 activiti7相关的坐标,spring相关坐标,activiti-spring整合包,mysql驱动包... --> <properties> <slf4j.version>1.6.6</slf4j.version&g...

yfy的博客 364

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Activiti7整合Spring

一、Activiti与Spring整合开发 1.1 Activiti与Spring整合的配置 1)、在pom.xml文件引入坐标 如下 <properties> <slf4j.version>1.6.6</slf4j.version> <log4j.version>1.2.12</log4j.version> </properties> <dependencies> <depen

weixin_50020236的博客 1061

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Activiti 与 Spring整合的配置

Activiti 与 Spring整合的配置 引入 pom.xml 坐标,如下 &lt;properties&gt; &lt;slf4j.version&gt;1.6.6&lt;/slf4j.version&gt; &lt;log4j.version&gt;1.2.12&lt;/log4j.version&gt; &lt;/properties&gt; ...

Marion的博客 1130

【activiti】activiti与spring整合

创建工程 创建activiti-spring.xml activiti中核心类就是ProcessEngine流程引擎,与spring整合后,就是通过spring来管理ProcessEngine,创建spring与activiti的整合配置文件:,名称不固定

return 854

Activiti学习笔记:Activiti和Spring整合、Activiti和SpringBoot整合之Gradle版

环境 activiti:7+ Java:11 本机环境:window MySQL:5.7 gradlew:6+ 导入依赖 buildscript { ext { activitiVersion = '7.1.0.M6' mysqlVersion = '6.0.6' mybatis = '3.5.6' druidVersion = '1.2.5' junitVersion = '4.12' } } plugins

山鬼谣的专栏 1565

Activiti 5.3:配置与Spring整合

<br />Activiti 5.3与Spring整合也比较简单,其基本思想就是,通过Spring的IOC容器来管理Activiti的流程引擎实例以及相关服务,可见,主要是基于Activiti在与Spring整合上努力上,做好配置即可。这里基于前面的<receiveTask>的例子来进行,可以参考:Activiti 5.3:流程活动自动与手工触发执行,简单的流程,如图所示:<br /><br />Activiti 5.3与Spring整合,默认使用的配置文件为activiti-context.xml,当然可

千与的专栏 2万+

Activiti和Spring整合

 前面的文章介绍了Activiti的流程部署。本章我们会将Activiti和Spring进行整合,并完成简单的审批和查询。1、要实现Spring和整合,还需要引入activiti-spring包,pom的依赖如下:  &lt;dependency&gt;     &lt;groupId&gt;junit&lt;/groupId&gt;     &lt;artifactId&gt;junit&lt;...

qianfeng_dashuju的博客 1385

Activiti整合Spring和Spring Boot

Activiti整合Spring 一、Activiti与Spring整合开发 1.1 Activiti与Spring整合的配置 1)、在pom.xml文件引入坐标 如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

weixin_43472934的博客 1280

Activiti(九)之Activiti整合Spring案例

前面八篇文章讲解了Activiti7的相关基础知识,前八篇博客的地址:https://blog.youkuaiyun.com/zengdongwen/category_9188557.html 但是在项目中,现在基本上都是离不开Spring框架的,所以今天我们来了解下,Activiti7怎么整合Spring,这是未来项目中需要用到的,所以我们需要重点去掌握。 1、创建工程 用IDEA创建maven工程,...

zengdongwen的博客 508
上一篇: Activiti——顺序流、网关、多实例及补偿处理详解
下一篇: Activiti——流程图XML以及与流程文件的转换
吴声子夜歌
博客等级 码龄9年 2687粉丝 2266原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值