NEW

Flowable6.4 – 分布式事务

本文是基于SpringBoot、Atomikos、MyBatis、Druid实现的,全文总共分为两大部分: 介绍一下SpringBoot如何基于Atomikos实现分布式事务。介绍一下Flowable如何实现分布式事务。 首先,介绍一下SpringBoot如何实现分布式事务。 Jar包的主要引用如下: <dependency>      <groupId>org.springframework.boot</groupId>    ...
NEW

Flowable6.4 – 数据库访问及事务处理

​最近我对于Flowable的数据库访问过程很感兴趣,所以去阅读了一下这块的源码,大概梳理了一下。 直接从ProcessEngineConfigurationImpl内的init()方法作为切入点,跟踪其内部调用的initCommandExecutors()方法。 如果阅读过之前我写的源码分析文章,就可以知道Flowable是基于命令链来实现各种业务逻辑的,也可以知道initCommandExecutors()这个方法其实就是命令链的初始化方法。 着重关注一下get...

Spring编程式事务

我们经常用到的Spring事务声明方式是: 使用AOP切面声明事务。使用注解@Transactional声明事务。 这次试验一下另外一种事务实现方式:编程式事务。 以SpringBoot项目为例,使用以下代码声明事务: @Primary@Bean(name = "transactionManager")public DataSourceTransactionManager getDataSourceTransactionManager(@Qualifier("dataSource")DataSource dataSource)...

Flowable6.4 – 整合流程设计器

之前一直凑合用Activiti6的流程设计器,这些天琢磨着把流程设计器整合到Web应用中,就挤出点时间搞了一下Flowable的流程设计器,在此记录一下整个的整合过程。 其实,有了之前的整合经验,Flowable6.4的整合没有什么难点,而且发现相对容易了一些。 在之前SpringBoot整合Flowable6.4的基础上,将flowable-ui-modeler-app中的源码文件拷贝出来,如下图: 将这些文件拷贝至已有的工程内,文件...

Flowable6.4 – Behavior改变ConditionExpression

上一篇简单介绍了一下如何自定义Behavior,此篇就试验一个稍微复杂一些的:使用Behavior改变ExclusiveGateway的Outgoing条件。​ 先上流程图: 设置一下分支节点(ExclusiveGateway)后面两条路径(SequenceFlow)的执行条件: 第一条路径 第二条路径 然后,扩展一个ExclusiveGatewayActivityBehavior,源码如下: public class ExtExclusiveGatewayActivityBehavior ...

Flowable6.4 – Behavior使用初探

通过之前分析Behavior的源码,基本上搞清楚了它的作用,这次就简单试验一下它的用法。 如果看过ProcessEngineConfigurationImpl的源码,会在其中的init()方法中发现BehaviorFactory的初始化方法。由此入手,就能够了解如何定制Behavior。 这块的源码暂时先不分析,本次直接使用一个简单的Demo介绍一下如何定制UserTaskActivityBehavior。 首先,声明一个自定义类,直接继承自UserTaskActivityBeh...

Flowable6.4 – Behavior的用途分析(execute)

上一篇分析了一下Behavior的用途,不过只是追踪到leave()方法就结束了。后来在实际工作当中发现,其内部的execute也挺重要,所以本次就看一下execute()方法的主要作用。 在上一篇中,调用了super.leave()方法后,其实就会离开当前节点,主要是通过下面的代码实现的: /** * Default way of leaving a BPMN 2.0 activity: evaluate the ...

Flowable6.4 – Behavior的用途分析

Flowable和Activiti里面有一个很重要的部分 - Behavior,接下来分析一下这部分的主要作用是什么。 首先,要找一个切入点,看一下在调用TaskServiceImpl.complete()时发生了什么。下面是该函数的源码: @Overridepublic void complete(String taskId) {    commandExecutor.execute(new CompleteTaskCmd(taskId, null));} 这里可以看到执行了...

SpringBoot整合Flowable6.4

大量的配置文件让人很烦躁,尤其是某个项目中无处不在却怎么也找不到的配置文件,所以之前的示例项目也是时候改成SpringBoot了。 基于上一篇的示例,首先在Pom文件中新增加DataSource、Flowable和其它一些将要用到的配置: <!-- datasource --><dependency>  <groupId>mysql</groupId>  <artifactId>mysql-connector-java</artif...

SpringBoot – 整合Beetl模板引擎

之前的流程引擎测试代码都是基于Spring的,乱七八糟的配置文件一大堆,看着极其不爽。近期打算更换成Spring Boot,所以就预先试验一下了,先从整合beetl模板引擎开始。 新建了一个Maven项目,打算使用Jetty作为Web容器,Pom文件最开始的时候非常简单,主要配置如下: <parent>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot...
Copyright © 字痕随行 保留所有权利.   Theme  Ality 京ICP备14039894号

用户登录

分享到: