Activity第一個實驗

原文鏈接:https://blog.csdn.net/linhongwangok/article/details/100532697

根據視頻學習整理以便後續查詢使用,希望交流學習。

1.eclipse需要配置Activity的插件,以下爲配置完成後的結果

    

2.目錄結構如下

    

3.activiti.cfg.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!-- 流程引擎配置的bean -->
    <bean id="processEngineConfiguration"
        class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/act" />
        <property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
        <property name="jdbcUsername" value="root" />
        <property name="jdbcPassword" value="root" />
        <property name="databaseSchemaUpdate" value="true" />
    </bean>
</beans>

4.first.bpmn配置文件中的內容如下,學習使用的是簡單請假流程。

   

5.正文代碼如下

    
        //啓動流程引擎
        ProcessEngine engine=ProcessEngines.getDefaultProcessEngine();
        //存儲服務
        RepositoryService repository=engine.getRepositoryService();
        
        //運行時服務
        RuntimeService runtime=engine.getRuntimeService();
        
        //任務服務
        TaskService taskService=engine.getTaskService();
        
        //部署流程 一次可以部署多個流程
        repository.createDeployment().addClasspathResource("first.bpmn").deploy();
        //啓動流程
        ProcessInstance pinstance=runtime.startProcessInstanceByKey("myProcess");
        
        //完成任務,根據流程實例id進行查詢當前任務節點
        Task task=taskService.createTaskQuery().processInstanceId(pinstance.getId()).singleResult();
        System.out.println("當前執行節點:"+task.getName());
        taskService.complete(task.getId());
        
        //第二個節點執行
        task=taskService.createTaskQuery().processInstanceId(pinstance.getId()).singleResult();
        System.out.println("當前執行節點:"+task.getName());
        taskService.complete(task.getId());
        
        //判斷是否還有其他節點
        task=taskService.createTaskQuery().processInstanceId(pinstance.getId()).singleResult();
        System.out.println("當前執行節點:"+task);
        
        
        //關閉流程引擎
        engine.close();
        //結束程序
        System.exit(0);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章