线程 Netty 分布式服务 sqlite symfony arraylist casting devise grid angular ui router progressjs vue滑动事件 bootstrap后台管理模板 找公司做网站 jquery解析json数据 mysql在线测试 oracle查看数据库状态 mysql小数用什么类型 mysql合并结果集 mysql组合索引 ubuntu显示隐藏文件夹 kali重启网卡 小程序下拉刷新样式 python迭代 python输出中文 java时间戳转换成时间 java字符串查找 java开发环境配置 java怎么连接数据库 java中数据类型 java字符串操作 java获取文件 flash实例教程 subprocess typemonkey 图片链接生成器 无限视距 扫微信二维码诈骗原理 上单塞拉斯 python列表求和
当前位置: 首页 > 学习教程  > 编程语言

Go语言流程引擎go-activiti

2020/9/19 16:03:34 文章标签:

Go语言流程引擎go-activiti

项目传送门go-activiti

参考Activiti实现,满足部分功能。项目还在完善中,欢迎activiti爱好者加入,Go语言她不香么。

现有能力

  • 节点类型,支持用户审批节点、排他网关、包容网关、并行网关
  • 流程功能,支持流程部署、流程发起、流程审批
  • 支持历史数据回溯
  • 全局事务
  • 全局事件监听,现支持节点事件处理

BPMN文件解析,先使用的是JSON库,使用方便,但存在缺陷,不支持扩展后续完善件process。

全局事务,参考activiti设计模式,依赖命令模式和责任链模式,使用gorm的事务能力,不需要关注事务。

defer db.ClearTXDB()
db.GORM_DB.Transaction(func(tx *gorm.DB) error {
	db.InitTXDB(tx)
	value, err = transactionContextInterceptor.Next.Execute(command)
	return err
 })

后续计划:

  • 支持更多节点类型
  • bpmn解析完善,可扩展
  • 流程能力支持:流程跳转,驳回等等
  • 监听事件完善
  • 数据库默认值处理
  • 项目结构调整

期待您的加入。


本文链接: http://www.dtmao.cc/news_show_200336.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?