Activiti6.0學習實踐(2)-源碼工程構建

上節對工作流和activiti有了一個基本認識,本節主要目的是構建源碼工程,瞭解如何從git上創建本地的工程,同時對源碼有個基本的瞭解。

目錄

1、克隆到本地

2、建立遠程git庫分支

3、導入到工程

4、源碼基本結構

5、基於源碼啓動activiti-app

6、Activity-app如何構建spring容器和servlet容器


1、克隆到本地

由於github現在對國內網速限制的厲害,所以基本上無法從github直接下載使用。一個簡單的辦法是“曲線救國”,從碼雲gitee將github上的項目clone過去,然後在從雲上克隆到本地。

首先要有gitee賬號,然後在gitee上創建一個新庫,注意創建的時候要設定導入已有倉庫

在上面的地址欄目填入github上的url:https://github.com/cwqsolo/Activiti.git

這樣就可以創建一個activiti的副本了。

注意一下標註紅框的地方,後續我們研究和學習都是基於6.x的基礎之上。

下面我們clone到本地,使用如下命令:

git clone  https://gitee.com/cwqsolo/Activiti.git

克隆完成後,在本地可以看到裏面的內容。見下圖

2、建立遠程git庫分支

因爲學習和實踐會對原有分支產生影響,因此需要建立一個分支,在此基礎上進行代碼的研究和修改,使用如下命令進行分支的創建:

創建後,本地目錄如下所示

下面進行編譯mvn  clean  test-compile

編譯完成後,我們下一步,用開發IDE導入工程。

3、導入到工程

下面通過IDEA的導入功能,將這個分支導入並創建工程。打開IDEA

選中import Project後,在彈出界面上找到剛纔工程目錄下的pom.xml

後面一路next,在選中jdk的時候,注意選中1.8

工程創建後,就會根據pom.xml中的依賴進行相關依賴的下載,整個過程比較長,可以去喫點茶點。

完成後的工程結構如下所示:

導入後pom.xml有些現實紅色,暫時不管他

4、源碼基本結構

在model目錄下,是activiti的核心模塊,其中activiti-engine又是其中最重要的包

幾個activiti核心模塊:

Module/activity-engine  流程引擎(重點)

Module/activity-spring  提供了spring的配置方式

Module/activity-springboot 提供了springboot的配置方式

Modele/activity-rest    提供了restapi模塊

5、基於源碼啓動activiti-app

下面通過命令行方式,我們啓動基於源碼的activiti-app,通過以下三個步驟可以啓動activiti-app

  1. 進入app所在的目錄:  cd  modules/activity-ui/activiti-app
  2. 執行mvn命令:   mvn  clean  tomcat7:run
  3. http://localhost:9999/activiti-app

 

下面是第2,3步的一些截圖:

看到這個9999端口,說明app已經啓動成功了。打開url後呈現如下:

使用admin/test登陸後,呈現如下界面(說明:這裏是沒有漢化的)。

Activiti-app的源碼結構分析:

Activiti-app: 集成發佈的war工程

Activiti-app-conf: ui獨立於業務外的配置

Activiti-app-logic: ui的業務邏輯

Activiti-app-rest: 提供接口的rest api

除了war工程外,其他都是生產jar包。

6、Activity-app如何構建spring容器和servlet容器

在activiti-app包下,有工作流初始化入口的重要類,webconfigurer,它Activiti\modules\activiti-ui\activiti-app-conf\src\main\java\org\activiti\app\servlet\WebConfigurer.java。這個是類

是一個servletlistener的實現,在內部通過代碼實現了兩個dispatchservlet的創建,同時將應用(spring)容器和這兩個(servlet)容器進行了綁定。

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