日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

工作流笔记第一天_简单介绍activiti

發布時間:2025/3/20 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 工作流笔记第一天_简单介绍activiti 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、什么是工作流?

? ? ? ?工作流(Workflow),指“業務過程的部分或整體在計算機應用環境下的自動化”。是對工作流程及其各操作步驟之間業務規則的抽象、概括描述。

  工作流是將一組任務組織起來以完成某個經營過程:定義了任務的觸發順序和觸發條件,每個任務可以由一個或多個軟件系統完成,也可以由一個或一組人完成,還可以由一個或多個人與軟件系統協作完成。

2、工作流主要解決的主要問題是:

  為了實現某個業務目標,利用計算機在多個參與者之間按某種預定規則自動傳遞文檔、信息或者任務。

工作流: ①指定流程:在指定流程的過程中,會經歷很多版本。 ②流程正式啟動 ③啟動流程實例 ④申請 ⑤審批 ⑥流程結束 注:雖然利用數據庫也可以控制業務流程,但是設計的表通用性不強,根據業務可能需要經常性的進行變更。 學習JBPM重點在于:①流程定義文檔XML②JBPM API③數據庫的結構(重點)

3.activiti中表介紹

  activiti自帶的表一共有23個。

  ACT_GE_*:GE是general,通用的。

  ACT_HI_*:HI是history,歷史表,一個流程實例跑完就會插入歷史表。

  ACT_ID_*:ID是identity,與id相關的表。

  ACT_RE_*:RE是repository,存儲的是一些靜態資源,如流程的資源。

  ACT_RU_*:RU是run,存儲的是一些運行時的信息。

4.activiti中的Service

  

?

5、在Eclipse中添加工作流的插件

? ? ? 在help-->install new softWare-->work with中直接搜索activiti然后選擇安裝即可,然后新建項目new-->other-->Activiti-->activiti project,要畫工作流流程圖new-->other-->Activiti-->activiti Diagram

?

6、入門程序

配置文件(aciviti.cfg.xml):

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
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
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

<bean id="processEngineConfiguration"
class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<!-- 設置數據庫連接 -->
<property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl"
value="jdbc:mysql://localhost:3306/activiti"/>
<property name="jdbcUsername" value="root" />
<property name="jdbcPassword" value="123" />
<!-- 設置創建表的方式 -->
<property name="databaseSchemaUpdate" value="true" />
</bean>
</beans>

代碼實現:

package itheima.process1;

import java.util.List;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.junit.Test;

public class HelloWord {
// 獲得工作流引擎對象
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

/* 部署流程定義 */
@Test
public void deloymentProcessDefinition() {
Deployment deploy = processEngine.getRepositoryService()// 與流程定義相關的service
.createDeployment()// 創建部署對象
.name("helloWord入門程序")// 添加部署名稱
.addClasspathResource("diagrams/helloWord.bpmn")// 從classPath的資源中加載,一次只能加載一個文件
.addClasspathResource("diagrams/helloWord.png").deploy();// 完成部署
System.out.println("部署id:" + deploy.getId());
System.out.println("部署名稱:" + deploy.getName());
}

/* 啟動流程實例 */
@Test
public void startProcessInstance() {
// 流程定義的key
String processDefinitionKey = "helloWord";
ProcessInstance processInstance = processEngine.getRuntimeService()// 與正在執行的流程實例和流程對象有關的service
.startProcessInstanceByKey(processDefinitionKey);
// 使用流程定義的key啟動流程實例,key與helloWord.bpmn中的id值相同
System.out.println("流程實例id:" + processInstance.getId());
System.out.println("流程定義id:" + processInstance.getProcessDefinitionId());
}

/* 查詢當前人的個人任務 */
@Test
public void findMyPersonalTask() {
String assignee = "張三";
List<Task> list = processEngine.getTaskService()// 獲取與正在執行任務的service
.createTaskQuery()// 創建任務查詢對象
.taskAssignee(assignee)// 指定個人任務查詢,指定辦理人
.list();
if (list != null && list.size() > 0) {
for (Task task : list) {
System.out.println("任務id:" + task.getId());
System.out.println("任務名稱:" + task.getName());
System.out.println("任務的創建時間:" + task.getCreateTime());
System.out.println("任務的辦理人:" + task.getAssignee());
System.out.println("流程實例id:" + task.getProcessInstanceId());
System.out.println("執行對象id:" + task.getExecutionId());
System.out.println("流程定義id:" + task.getProcessDefinitionId());
}
}
}
}

轉載于:https://www.cnblogs.com/smile-nn/p/7376004.html

總結

以上是生活随笔為你收集整理的工作流笔记第一天_简单介绍activiti的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。