因为电脑还在托运中,现在手上这台垃圾电脑实在是没法玩微服务,所以趁着这两天玩玩Activiti吧。
说实话,在学习Activiti中走了N多弯路,最大的原因就是网上没有一个完整(好)的教程,甚至连官方的文档坑也是巨多,比如默认是h2数据库,其它数据库需要手动指定之类就没写明。所以我决定站出来,写出一篇能让很多人在学习Activiti时少走点弯路的笔记。
首先,因为我使用的工具是STS(Eclipse安装一些Spring提供的插件),所以我们需要安装一个activiti-desgner插件,这是为了后面画流程图用的,具体安装方法百度即可,我这里提供一个安装包,因为官网下载巨慢无比,还超级卡,最重要的是容易失败,所以推荐使用此安装包进行离线安装。
链接:https://pan.baidu.com/s/1i6Pwbwp 密码:xksi
因为springboot比较好用,所以我们创建一个springboot项目
这是pom文件,引入activiti基本包以及mysql驱动包
其实如果使用的是STS的话,直接右键创建springboot项目,然后在创建界面可以直接选包,十分方便。
这是yml文件
配置写完后可以直接右键启动,不过注意,先在mysql中创建一个对应的数据库
通过观察日志我们发现,它读取并执行了三个sql文件
这三个sql文件分别是
engine:引擎
history:历史
identity:认证
而在数据库中则生成了下面这25张表
使用插件创建一个bpmn流程图文件吧
创建成功后,我们点一下startEvent这个按钮然后再按一下空白处,并且打开Properties控制台,并将id和name改为与我们bpmn文件名相同(这是规范)
保存一下,然后使用xml格式打开,这个操作没法截图,就是右击,然后open with,就能看到了
看到这差不多清楚了吧,其实流程图插件所做的就是将xml配置图形化了,方便我们开发。我们关注process标签里的元素即可,下面的是它在流程图里的大小和坐标位置。
我们来创建一个完成的审批任务链吧
此时再以xml格式打开
此时可以看到,除了本身任务节点被记录外,还有一个类似链表形式的序列节点,让每个任务按照我们图表中定义的那样产生了关联.
现在有点晚了,明天再继续写下去吧,不得不说spring boot简直太强大了,很多配置我们完全不用去做,直接拿着用(自动注入)就行了。明天的笔记里应该会有体现;