原創不易,請多多支持!對Java技術感興趣的童鞋請關注我,後續技術分享更精彩。
概述
上篇介紹了camunda工作流引擎的入門知識( )。這篇將針對camunda用戶體系做深入定製化集成,讓引擎工具更好的與業務相結合。
實現思路
通過實現camunda定義的用戶讀寫接口,並採用插件機制運行時注入到工作流引擎中,從而達到定製化用戶替換框架默認用戶體系的目的。
Identity Service
實現接口
•org.camunda.bpm.engine.impl.identity.ReadOnlyIdentityProvider
•org.camunda.bpm.engine.impl.identity.WritableIdentityProvider
Process Engine Plugin
插件實現說明:
https://docs.camunda.org/manual/7.7/user-guide/process-engine/process-engine-plugins/
插件實現接口:
org.camunda.bpm.engine.impl.cfg.ProcessEnginePlugin
Configure Process Engine Plugins
configure a process engine plugin in a bpm-platform.xml
<bpm-platform> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.camunda.org/schema/1.0/BpmPlatform http://www.camunda.org/schema/1.0/BpmPlatform ">
<job-executor>
<job-acquisition>
/<job-executor>
<process-engine>
<job-acquisition>default/<job-acquisition>
<configuration>org.camunda.bpm.engine.impl.cfg.JtaProcessEngineConfiguration/<configuration>
<datasource>jdbc/ProcessEngine/<datasource>
<plugins>
<plugin>
<class>org.camunda.bpm.engine.MyCustomProcessEnginePlugin/<class>
<properties>
<property>10/<property>
<property>true/<property>
<property>akka/<property>
/<properties>
/<plugin>
/<plugins>
/<process-engine>
/<bpm-platform>
configure a process engine plugin in a spring beans xml
<beans> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean>
...
<property>
<list>
/<list>
/<property>
/<bean>
<bean>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
/<bean>
/<beans>
Process Engine Plugins UML
Process Engine Plugins 注意事項
•UserEntity和GroupEntity id屬性表示業務系統中登陸用戶名,非系統id主鍵。
•UserEntity password對應設置屬性方法為setDbPassword,非setPassword。 setPassword表示修改密碼的新密碼屬性方法入口。
Process Engine Plugins 集成示例
demo源代碼實現請參考以下代碼倉庫地址
https://github.com/eagle00001/camunda-user-plugin-demo
閱讀更多 清風明月eagle 的文章