camunda工作流引擎介紹二:自定義用戶插件-附源碼

原創不易,請多多支持!對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

camunda工作流引擎介紹二:自定義用戶插件-附源碼

Process Engine Plugins 注意事項

•UserEntity和GroupEntity id屬性表示業務系統中登陸用戶名,非系統id主鍵。

•UserEntity password對應設置屬性方法為setDbPassword,非setPassword。 setPassword表示修改密碼的新密碼屬性方法入口。

Process Engine Plugins 集成示例

demo源代碼實現請參考以下代碼倉庫地址

https://github.com/eagle00001/camunda-user-plugin-demo


分享到:


相關文章: