Activiti(三)23張表的解釋

1.1與部署對象和流程定義相關的表mysql

act_re_deployment:部署數據表,一次部署能夠添加多個資源,資源會被保存到資源表(act_ge_bytearray)中;而部署的信息,則保存到部署表中。spring

act_re_procdef:流程定義表,若是發佈部署的文件是流程文件,除了將內容保存到資源表外,還會解析流程文件的內容,造成特定的流程定義數據,保存到此表中。sql

act_ge_bytearray:資源表,用來保存資源相應的信息ide

act_ge_property:用來生成下一個主鍵信息。字體

與流程實例,執行對象,任務相關的表spa

act_ru_execution:正在執行的流程實例表,當流程啓動後,會產生一個流程實例,同時會產生相應的執行流,那麼流程實例和執行流數據均會被保存到act_ru_execution表中。設計

act_hi_procinst:流程實例的歷時表,與act_ru_execution正好對應。對象

act_ru_task:正在執行的任務列表(只有任務節點(UserTask),該表中才有數據)ip

act_hi_actinst:全部活動的歷史表(包括全部的節點)
 ci

與流程變量相關的表


act_ru_variable: 正在執行的流程變量表,用來保存在整個流程執行過程當中用到的變量信息

act_hi_varinst :歷史的流程變量表,與act_ru_variable正好對應


與組任務表相關的表


act_ru_identitylink :正在執行的組任務表

act_hi_identitylink:歷史的人員表

與組織結構相關的表


act_id_group :工做流中的角色表

act_id_user :工做流中的用戶表

act_id_membership:中間表,關聯關係表


以上就是大體的23張數據表,下面串起來,來把咱們的知識連成線。

 

 下面就經過上面這個流程的例子,來把咱們上述的表給串起來。

首先是部署和流程相關方面的描述,上圖從開始到結束是一個完整的流程,因此就是所謂的一次部署act_re_deployment,而後在整個流程中,咱們可能會涉及到多個流程的文件,此時咱們會把文件存儲到act_ge_bytearray表中,而後把每一個文件的詳細信息存儲到act_re_procdef中。

部署完流程完後,就要開始執行咱們的流程了,從開始節點算起,每一個節點都是一個流程實例,正在執行的會存儲到act_ru_execution,執行完後,此表就會刪除,而後把歷史記錄存儲到act_hi_procinst。中間涉及到的用戶任務節點,也就是UserTask節點,歷史和正在執行的都會分別存儲到act_hi_actinst、act_ru_task中。若是在流程中間執行中,設計到變量的傳遞,好比咱們想把流程的執行者,做爲變量來傳遞的話,就會存儲到act_ru_variable和act_hi_varinst中。

最後,在整個流程執行過程當中,設計到人員的操做信息,存儲到act_id_user 中,若是設計到組的概念的話,那麼某個用戶是屬於某個組的,就比如工做裏面的部門同樣,某些職責只能某些部門來執行,所以在Activi中也涉及到了組的概念,存儲到act_id_group ,他們之間的聯繫用第三張表act_id_membership來關聯。

 

表的建立方法
2.1使用官方提供的sql文件

database文件下--create---

2.二、非spring狀況下  建立工做流引擎會自動建立表

ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();

2.3使用spring  可配置數據源是否建表

<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
    <property name="dataSource"><ref bean="dataSource"/></property>
    <property name="transactionManager"><ref bean="transactionManager"/></property>
    <property name="databaseType" value="mysql"></property>

    <!-- 沒有表建立表 -->
    <property name="databaseSchemaUpdate" value="true"/>
    <!-- 是否激活Activiti的任務調度 -->
    <property name="jobExecutorActivate" value="false"/>
    <property name="processDefinitionCacheLimit" value="10"/>
    <!-- 生成流程圖的字體 -->
    <property name="activityFontName" value="宋體"/>
    <property name="labelFontName" value="宋體"/>
</bean>
相關文章
相關標籤/搜索