盘古BPM体验地址    盘古BPM交流群盘古BPM交流群号:963222735

flowable

《Flowable基础二十 Flowable 自动部署资源》

《Flowable基础二十 Flowable 自动部署资源》
集成Spring还提供了部署资源的特殊方式。在流程引擎配置中,可以指定一组资源。当流程引擎被创建时,这些资源都会被扫描并部署。有过滤器用于阻止重复部署。只有当资源确实发生变化时,才会重新部署至Flowable数据库。在Spring容器经常重启(例如测试时)的时候,这很有用。 默认情况下,这个配置会将符合这个过滤器的所有资源组织在一起,作为Flowable引擎的一个部署。重复检测过滤器将作用于整个部署,避免重复地部署未改变资源。有时这不是你想要的。例如,如果用这种方式部署了一组资源,即使只有其中的一个资源发生了改变,整个部署都会被认为已经改变,因此这个部署中所有的所有流程定义都会被重新部署。这将导致每个流程定义都会刷新版本号(流程定义id会变化),即使实际上只有一个流程发生了变化。

分享牛 2017-07-20 4630℃

flowable

使用liquibase管理数据库

使用liquibase管理数据库
在实际项目开发中,通常会使用到数据库,比如mysql或者oracle等。既然涉及到数据库那肯定涉及到数据表的操作了,没有表怎么操作呢?以下面的一个场景为例进行说明:一个开发部门有张三李四王五三个人并且同时在开发同一个项目,假如有一天张三需要在数据库表中新增一个列,然后吧唧吧唧写个一个sql,上线之前将sql脚本交给dba执行,然后上线项目,这个流程没问题,同样的场景,李四也需要修改数据库表,比如增加一个列,但是上线后,突然发现忘记将自己修改的sql脚本交给dba了,很显然,项目报错了。

分享牛 2017-07-17 4965℃

flowable

《Flowable基础十九 Flowable 高并发下使用的UUID id生成器》

《Flowable基础十九 Flowable  高并发下使用的UUID id生成器》
在某些(非常)高并发负载的情况下,默认的id生成器可能会由于不能足够快地获取新的id块而产生异常。每一个流程引擎都有一个id生成器。默认的id生成器在数据库中保留一个块的id,这样其他引擎就不能使用同一个块中的id。在引擎操作时,当默认的id生成器发现id块已经用完,就会启动一个新的事务,来获取一个新的块。在(非常)有限的使用场景下,当负载非常高时可能导致问题。对于大多数用例来说,默认的id生成器已经足够使用了。默认的org.flowable.engine.impl.db.DbIdGenerator也有一个idBlockSize参数,用于配置保留的id块的大小,可以调整获取id的行为。默认的id生成器的替代品是org.flowable.engine.impl.persistence.StrongUuidGenerator,它会在本地生成一个唯一的UUID,并将其用作所有实体的标识符。因为UUID不需要访问数据库就能生成,因此在非常高并发的使用场景下更合适。请注意取决于机器,性能可能与默认的id生成器不同(更好更坏都有可能)。

分享牛 2017-07-05 4303℃

flowable

《Flowable基础十八 Flowable 消息队列异步执行器 》

《Flowable基础十八 Flowable 消息队列异步执行器 》
异步执行器设计思路保证了,可以用消息队列轻松接管线程池的工作,并用于处理异步作业。 跑分显示消息队列相比基于线程池的异步执行器,性能出众,吞吐量大。但是,会需要额外的架构组件,当然也就增加了安装配置、维护及监控的复杂度。对于多数用户来说,基于线程池的异步执行器,性能已经足够用了。但能够知道在性能要求增长之后,仍有可用方案,也是挺好的。 目前,立即可用的唯一选择是带有JMS的Spring。首先支持Spring的原因是,Spring提供了非常好的功能,抚平了使用线程以及处理多个消息消费者造成的伤痛。然而集成很简单,因此可以轻松改用任何其他消息队列实现或协议(Stomp、AMPQ等等)。我们欢迎反馈下一个应该实现什么。

分享牛 2017-07-05 3589℃

flowable

《Flowable基础十七 Flowable租户 Multitenancy 》

《Flowable基础十七 Flowable租户 Multitenancy 》
总的来说,多租户是一个软件为多个不同组织提供服务的概念。其核心是数据是隔离的,一个组织不能看到其他组织的数据。在这个语境中,一个这样的组织(或部门、团队,等等)被称为一个租户(tenant)。请注意它与多实例安装方式有本质区别。多实例安装是指每一个组织都分别运行一个Flowable流程引擎实例(且使用不同的数据库账户)。尽管Flowable比较轻量级,运行一个流程引擎实例不会花费太多资源,但多实例安装仍然增加了复杂性与维护量。但是,在某些使用场景中,多实例安装可能是正确的解决方案。

分享牛 2017-07-04 5456℃

flowable

《Flowable基础十五 Flowable异步处理日志数据(act_evt_log表)》

《Flowable基础十五 Flowable异步处理日志数据(act_evt_log表)》
Flowable 异步处理日志数据(act_evt_log表) 摘要:Flowable中已经将历史日志数据单独抽取出来,使用定时器进行处理,而并不是像Flowable5版本或者activiti5版本一样,在同一个事务中处理历史日志数据。这也意味着实例运行的速度以及性能会大大提升。注意一点:这里我们说的是历史日志数据数据,对应act_evt_log表中的数据,诸如act_hi_taskinst等历史细节表中的数据,flowable并不会使用定时器进行处理。这一点再次强调一点。

分享牛 2017-07-03 5359℃

flowable

Flowable6.1 下载以及新特性

Flowable6.1 下载以及新特性
Flowable 6.1.0 下载以及新特性。历史数据异步入库:可以在引擎配置类中通过asyncHistoryEnabled开关属性进行是否开启该功能,该功能默认没有开启即值为false。如果开启该功能之后,则引擎会创建一个异步作业。并将历史信息写入一个单独的异步事务的历史表中。换言之我们可以扩展数据入库的相关实现类,将历史数据插入到NOSQL中(这个本人在Activiti中使用过),异步入库算一个新特性,将历史数据插入到NOSQL算一个扩展点吧,毕竟Activiti也支持。

分享牛 2017-06-28 2438℃