今天在一个关于flowable的技术交流群中进行交流的时候,遇到一个人说每次重新部署应用的时候,流程会重新发布,特在此给大家,讲解下原理,也希望我们在面对技术问题的时候都能谦让虚心的交流。
1 flowable部署的模式有三种 也就是DeployMode属性有三个,对应的有三种部署策略
而最后部署执行的时候来比对资源文件是否变化的最终执行类是DeployCmd,在DeployCmd中有
DeploymentBuilderImpl类,这个类实现了DeploymentBuilder,这个类中有一个
DuplicateFilterEnabled 属性
这个方法进行资源文件对比,发现是否有变化,如果没有变化了则会直接返回,如果有变化会新创建一条,老的继续保存,不做操作。
上面是比对两个资源文件是否相同的方法,真实的Resources文件都包装在了DeploymentEntity类里面。
紧展示了部分代码,有不理解的地方或者错的地方欢迎批评指正。