<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                :-: ![](https://img.kancloud.cn/dd/cf/ddcfec2be84122605bd33310a7d9fb87_831x303.jpg) Activiti類結構關系 在新版本中(7.x),IdentityService,FormService兩個Serivce都已經刪除了。所以后面對于這兩個Service不再講解,但老版本中還是有這兩個Service,在這里提醒一下。 <br/> **1. `activiti.cfg.xml`** activiti的引擎配置文件,包括:ProcessEngineConfiguration的定義、數據源定義、事務管理器等,此文件其實就是一個spring配置文件。 <br/> **2. ProcessEngineConfiguration** 流程引擎配置類,通過ProcessEngineConfiguration可以創建工作流引擎ProcessEngine,常用的子類為StandaloneProcessEngineConfiguration、SpringProcessEngineConfiguration。 ![](https://img.kancloud.cn/33/81/3381ffd6ec81430e2e5ddf6e4480f731_1455x280.png) (1)StandaloneProcessEngineConfiguration 使用StandaloneProcessEngineConfiguration,Activiti可以單獨運行來創建ProcessEngine,Activiti會自己處理事務。 (2)SpringProcessEngineConfiguration 這個是Activit與Spring整合用的,具體配置參考【Spring整合Activiti】小節。 <br/> **3. ProcessEngine** 工作流引擎(ProcessEngine),相當于一個門面接口,通過ProcessEngineConfiguration創建processEngine,通過ProcessEngine創建各個service接口。 <br/> **4. Servcie服務接口** Service是工作流引擎提供用于進行工作流部署、執行、管理的服務接口,我們使用這些接口就可以就是操作服務對應的數據表。 (1) RepositoryService activiti的資源管理類,提供了管理和控制流程發布包和流程定義的操作。 使用工作流建模工具設計的業務流程圖需要使用此service將流程定義文件的內容部署到計算機。除了部署流程定義以外還可以:查詢引擎中的發布包和流程定義。暫停或激活發布包,對應全部和特定流程定義。 暫停意味著它們不能再執行任何操作了,激活是對應的反向操作。獲得多種資源,像是包含在發布包里的文件, 或引擎自動生成的流程圖。 獲得流程定義的pojo版本, 可以用來通過java解析流程,而不必通過xml。 (2) RuntimeService Activiti的流程運行管理類。可以從這個服務類中獲取很多關于流程執行相關的信息。 (3)TaskService Activiti的任務管理類。可以從這個類中獲取任務的信息。 (4) HistoryService Activiti的歷史管理類,可以查詢歷史信息,執行流程時,引擎會保存很多數據(根據配置),比如流程實例啟動時間,任務的參與者, 完成任務的時間,每個流程實例的執行路徑,等等。 這個服務主要通過查詢功能來獲得這些數據。 (5)ManagementService Activiti的引擎管理類,提供了對 Activiti 流程引擎的管理和維護功能,這些功能不在工作流驅動的應用程序中使用,主要用于 Activiti 系統的日常維護。 <br/> 獲取服務接口的過程如下: >[success] **1. 在配置文件`resources/activiti.cfg.xml`中配置**ProcessEngineConfiguration * 配置方式1: ```xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/contex http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <!-- 這里可以使用 鏈接池 dbcp--> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql:///activiti" /> <property name="username" value="root" /> <property name="password" value="123456" /> <property name="maxActive" value="3" /> <property name="maxIdle" value="1" /> </bean> <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"> <!-- 引用數據源 上面已經設置好了--> <property name="dataSource" ref="dataSource" /> <!-- activiti數據庫表處理策略 --> <property name="databaseSchemaUpdate" value="true"/> </bean> </beans> ``` * 配置方式2: ```xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/contex http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <!-- 這里可以使用 鏈接池 dbcp--> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql:///activiti" /> <property name="username" value="root" /> <property name="password" value="123456" /> <property name="maxActive" value="3" /> <property name="maxIdle" value="1" /> </bean> <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"> <!-- 引用數據源 上面已經設置好了--> <property name="dataSource" ref="dataSource" /> <!-- activiti數據庫表處理策略 --> <property name="databaseSchemaUpdate" value="true"/> </bean> </beans> ``` >[success] **2. java代碼** ```java public class TestCreate { /** * 使用activiti提供的默認方式來創建mysql的表 */ @Test public void testCreateDbTable() { //1. 獲取配置 ////方式1:調用createProcessEngineConfigurationFromResource(resource), //但是activiti.cfg.xml中必須有一個 <bean id="processEngineConfiguration" .../> //ProcessEngineConfiguration configuration = ProcessEngineConfiguration // .createProcessEngineConfigurationFromResource("activiti.cfg.xml"); ////方式2:調用createProcessEngineConfigurationFromResource(resource, beanName)可自由定義beanName ProcessEngineConfiguration configuration = ProcessEngineConfiguration. createProcessEngineConfigurationFromResource("activiti.cfg.xml", "processEngineConfiguration"); //2. 獲取引擎,到這一步就會創建mysql表 ////獲取方式1:采用Activiti默認獲取方式 //方法getDefaultProcessEngine會默認從resources下讀取名字actviti.cfg.xml的文件, //所以這一步可以省略獲取配置的不再 //ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); ////獲取方式2:這是開發中通常采用的 ProcessEngine processEngine = configuration.buildProcessEngine(); //3. 獲取各種接口 RuntimeService runtimeService = processEngine.getRuntimeService(); RepositoryService repositoryService = processEngine.getRepositoryService(); TaskService taskService = processEngine.getTaskService(); } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看