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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Activiti 简易教程一 version5.10

發布時間:2024/4/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Activiti 简易教程一 version5.10 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一搭建環境

1.1?? JDK 6+

activiti?運行在版本?6以上的?JDK上。轉到?Oracle Java SE下載頁面,點擊按鈕“下載?JDK”。網頁中也有安裝說明。要核實安裝是否成功,在命令行上運行?javaversion。將打印出安裝的?JDK的版本。

1.2?? Ant 1.8.1+

?Ant[http://ant.apache.org/bindownload.cgi]下載頁面下載最新穩定版的?Ant。解壓文件,確保其?bin文件夾在操作系統的?path?下。在命令行上運行?antversion?來檢查?Ant是否安裝成功。成功將打印安裝的?Ant?版本。

1.3?? Eclipse 3.7+

?Eclipse的下載頁面下載?Eclipse Classic(Eclipse JEE)版的?eclipse。解壓下載的文件,然后就可以運行?eclipse路徑下的?eclipse?文件了。

下載地址:http://www.eclipse.org/downloads/packages/release/indigo/sr2

1.4?? Activiti -eclipse designer插件安裝

?????????在安裝Activiti -eclipse designer插件前先安裝maven插件,m2e(eclipse)插件在Install New SoftWare安裝時會出現些問題,按以下步驟安裝即可。

1.4.1?先安裝GEF插件

maven插件安裝的時候會依賴這個插件,在Eclipse -> help -> Install New SoftWare中安裝,update site:http://download.eclipse.org/tools/gef/updates/interim/

1.4.2?安裝SVN插件

Eclipse -> help -> Install New SoftWare中安裝,update site:http://subclipse.tigris.org/update_1.6.x

1.4.3安裝Maven插件

方式一:在線安裝

?????????Eclipse -> help -> Install New SoftWare中安裝,update site:http://nexus.tesla.io:8081/nexus/content/sites/m2e.extras/m2e/1.5.0/N/LATEST/

順便eclipse m2e支持sitehttp://www.eclipse.org/m2e/download/

?????????如在線安裝不成功,報[the selected did not contain any resources that can run on server maven project]錯誤,建議采用方式二安裝。

方式二:本地安裝

?????????下載maven?eclipse-maven3-plugin插件(eclipse-maven3-plugin為本人CSDN上傳)

Maven site:?http://ant.apache.org/bindownload.cgi

eclipse-maven3-plugin site:?http://download.csdn.net/detail/yangyi22/5663245

?????????eclipse目錄下建立myplugins目錄,將eclipse-maven3-plugin解壓后文件復制進去,建立links目錄,新建maven.link文件(名字隨意取)添加文本:

path=…/eclipse/myplugins/maven,即讓eclipse啟動時去尋找myplugins中的插件,如本人安裝的路徑:path=D:/Java~coding~site /eclipse[indigo-jee]/eclipse/myplugins/maven

1.4.4?最后安裝Activiti -eclipse designer

打開?HelpàInstall New Software。在如下面板中,點擊Add按鈕,然后填入下列字段:lNameActiviti BPMN 2.0 designer

l?Locationhttp://activiti.org/designer/update/

?

安裝成功后,新建activiti項目,視圖如下:

?

安裝m2eclipse插件后,重啟Eclipse,如提示

Eclipse is running in a JRE, but a JDK is required

??Some Maven plugins may not work when importing projects or updating source folders.

需要修改eclipse.ini文件,新增一項配置

-vm配置項必須在–vmargs配置項前,是因為執行到-vmargs配置項已經選擇了一個默認的JVM了。

所以在–vmargs前面加上這一句:

-vm??

C:/Program Files/Java/jdk1.6.0_20/bin/javaw.exe?

二開始activiti 5.10的第一個demo

2.1???建立activiti-demo工程,選擇Activiti Project

?

創建成功后的項目:

?

activiti-demo項目添加activiti依賴包,項目右鍵Build Path->Configure Build Path->libraries -> Add External Jars選中…\activiti-5.10\setup\files\dependencies\libs下所有包添加即可。

2.2?activiti-demo工程的數據庫整合為MySQL

?????????…\activiti-5.10\setup\build\activiti-cfg目錄下的activiti.cfg.xml配置文件復制到項目src\main\resources目錄下,修改數據庫配置如下:

<!-- Database configurations -->

????<propertyname="jdbcUrl"

value="jdbc:mysql://localhost:3306/test?autoReconnect=true"/>

????<propertyname="jdbcDriver"

??? ???value="com.mysql.jdbc.Driver"/>

????<propertyname="jdbcUsername"value="root"/>

????<propertyname="jdbcPassword"value="root"/>

????<!-- Database configurations -->

????<propertyname="databaseSchemaUpdate"value="true"/>

????<!-- job executor configurations -->

????<propertyname="jobExecutorActivate"value="false"/>

2.3?設計activiti-demo工程的流程

在該項目的src/main/resource/diagrams下右鍵創建Activiti diagram,文件名為:DemoProcess.bpmn

?-->

?

此時進入Activiti Diagram Editor,在空白處點一下,下邊屬性欄中設置idnameid就是這個流程的key,后邊啟動流程的時候使用到。

?

注意:Activiti 5.8升級到5.9以后,xxx.bpmn20.xmlxxx.png已不默認生成,僅僅是生成xxx.bpmn文件,?xxx.bpmn中的定義內容就如xxx.bpmn20.xml一樣。

????????另外,快捷菜單:“Create deployment artifacts”和“Import BPMN20 file”,在5.9以后去掉了。

如需設計完成流程后自動生成一個png圖片按如下處理

l??保存無法生存png圖片按以下處理

Window –> Preferences -> Activiti ->Save勾選即可

或者手動操作Activiti Designer打開xxx.bpmn文件,然后右鍵選擇Export Diagram...,在彈出的對話框中設置圖片的參數即可,一般使用默認就可以了。

在設計編輯器中保存DemoProcess.bpmn后的項目視圖如下:

?

測試類代碼??DemoProcessTest.java

[java]?view plain?copy
  • package?main.java;??
  • ??
  • import?java.io.FileInputStream;??
  • import?java.util.List;??
  • import?org.activiti.engine.HistoryService;??
  • import?org.activiti.engine.ProcessEngine;??
  • import?org.activiti.engine.ProcessEngineConfiguration;??
  • import?org.activiti.engine.RepositoryService;??
  • import?org.activiti.engine.RuntimeService;??
  • import?org.activiti.engine.TaskService;??
  • import?org.activiti.engine.history.HistoricProcessInstance;??
  • import?org.activiti.engine.runtime.ProcessInstance;??
  • import?org.activiti.engine.task.Task;??
  • ??
  • /**?
  • ?*?Activiti?5.10?demo?
  • ?*?@author?BruceQin?
  • ?*??
  • ?*/??
  • public?class?DemoProcessTest?{??
  • ????//?diagrams實際路徑??
  • ????private?static?String?realPath?=???
  • ????????????"D:\\Java~coding~site\\J2EE-IDE\\Workspace\\workspace[indigo-jee]"?+??
  • ????????????"\\activiti-demo\\src\\main\\resources\\diagrams";??
  • ????public?static?void?main(String[]?args)?throws?Exception?{??
  • ????????//?創建?Activiti流程引擎??
  • ????????ProcessEngine?processEngine?=?ProcessEngineConfiguration??
  • ????????????????.createProcessEngineConfigurationFromResource("activiti.cfg.xml")??
  • ????????????????.buildProcessEngine();??
  • ??????????
  • ????????//?取得?Activiti?服務??
  • ????????RepositoryService?repositoryService?=?processEngine.getRepositoryService();??
  • ????????RuntimeService?runtimeService?=?processEngine.getRuntimeService();??
  • ??
  • ????????//?部署流程定義??
  • ????????repositoryService??
  • ????????????????.createDeployment()??
  • ????????????????.addInputStream("DemoProcess.bpmn",new?FileInputStream(realPath?+?"\\DemoProcess.bpmn"))??
  • ????????????????.addInputStream("DemoProcess.png",?new?FileInputStream(realPath?+?<a?href="file://\\DemoProcess.png">\\DemoProcess.png</a>))??
  • ????????????????.deploy();??
  • ??????????
  • ????????//?啟動流程實例??
  • ????????ProcessInstance?instance?=?processEngine??
  • ?????????????????.getRuntimeService().startProcessInstanceByKey("DemoProcess");??
  • ????????String?procId?=?instance.getId();??
  • ????????System.out.println("procId:"+?procId);??
  • ??????????
  • ????????//?獲得第一個任務??
  • ????????TaskService?taskService?=?processEngine.getTaskService();??
  • ????????List<Task>?tasks?=?taskService.createTaskQuery().taskDefinitionKey("firstTask").list();??
  • ????????for?(Task?task?:?tasks)?{??
  • ????????????System.out.println("Following?task?is:?taskID?-"?+task.getId()+"?taskName?-"+?task.getName());??
  • ????????????//?認領任務??
  • ????????????taskService.claim(task.getId(),?"testUser");??
  • ????????}??
  • ???????????
  • ????????//?查看testUser?現在是否能夠獲取到該任務??
  • ????????tasks?=?taskService.createTaskQuery().taskAssignee("testUser").list();??
  • ????????for?(Task?task?:?tasks)?{??
  • ????????????System.out.println("Task?for?testUser:?"?+?task.getName());??
  • ????????????//?完成任務??
  • ????????????taskService.complete(task.getId());??
  • ????????}??
  • ????????System.out.println("Number?of?tasks?for?testUser:?"??
  • ????????????????+?taskService.createTaskQuery().taskAssignee("testUser").count());??
  • ??????????
  • ??
  • ????????//?獲取并認領第二個任務??
  • ????????tasks?=?taskService.createTaskQuery().taskDefinitionKey("secondTask").list();??
  • ????????for?(Task?task?:?tasks)?{??
  • ????????????System.out.println("Following?task?is?:?taskID?-"?+task.getId()+"?taskName?-"+?task.getName());??
  • ????????????taskService.claim(task.getId(),?"testUser");??
  • ????????}??
  • ??????????
  • ????????//完成第二個任務結束結束流程??
  • ????????for?(Task?task?:?tasks)?{??
  • ????????????taskService.complete(task.getId());??
  • ????????}??
  • ??????????
  • ????????//?核實流程是否結束??
  • ????????HistoryService?historyService?=?processEngine.getHistoryService();??
  • ????????HistoricProcessInstance?historicProcessInstance?=?historyService.createHistoricProcessInstanceQuery().processInstanceId(procId).singleResult();??
  • ????????System.out.println("Process?instance?end?time:?"?+?historicProcessInstance.getEndTime());??
  • ????}??
  • }??

  • 教程一完畢。

    總結

    以上是生活随笔為你收集整理的Activiti 简易教程一 version5.10的全部內容,希望文章能夠幫你解決所遇到的問題。

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