Camunda BPMjava
用途: 流程管理、流程解決方案node
支持語言: java ,nodejsgit
官網入門指導:https://docs.camunda.org/get-started/quick-start/ 看官網能夠快速構建一個可用的工程;github
我嘗試使用了spring boot ,maven,Camunda BPM寫了個官網例子;web
一、Spring boot 快速構建一個 web工程,https://start.spring.io/spring
二、把生成的工程導入到idea 或者eclipse裏面;瀏覽器
2.1 修改pom.xml文件的依賴以下:springboot
<dependencies>
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
其中org.camunda.bpm.springboot這個依賴繼承了 camunda bpm和 spring boot starter
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
<version>3.2.0</version>
</dependency>
2.2 修改spring boot 主入口程序,加入註解@EnableProcessApplication;
@SpringBootApplication
@EnableProcessApplication
public class CamundabpmApplication {
public static void main(String[] args) {
SpringApplication.run(CamundabpmApplication.class, args);
}
}
2.3 啓動程序;瀏覽器訪問localhost:8080
頁面以下:
三、官網下載
camunda bpm 畫流程圖的工具:Camunda Modeler
下載連接:https://camunda.com/download/modeler/?__hstc=12929896.ac03a515a45a7a10726115b3f850d7c2.1551935385801.1551935385801.1551935385801.1&__hssc=12929896.2.1551955519686&__hsfp=100025305
解壓後,直接打開exe文件,能夠打開工做界面;app
四、畫圖以下,注意第二個方框上有一我的eclipse
畫好後,點擊右側,查看id;這個id是流程圖的惟一標誌id;
保存文件爲taskflow.bpmn
五、在 main/resources下面加入 META-INF 文件,在META-INF 下加入processes.xml文件,內容爲空;
六、在main/resources下面加入application.yaml; 內容以下:
camunda.bpm:
admin-user:
id: kermit
password: superSecret
firstName: Kermit
filter:
create: All tasks
說明:不加這個文件也能夠啓動,可是訪問頁面時沒有登陸
七、啓動spring boot ;訪問localhost:8080
能夠看到登陸界面,登陸
帳號
Kermit
密碼:
superSecret
能夠進入系統
八、把文件 taskflow.bpmn 複製到項目中,放在 main/resources下面;
修改主程序入口:
因爲taskflow.bpmn 的流程id爲Process_1,因此這裏填寫Process_1
九、重啓spring boot;
訪問 localhost:8080
登陸後能夠查看到新增了一個task
示例代碼
https://github.com/bellagoodday/camundabpm.git
可能遇到的問題
一、
no processes deployed with key 'Process': processDefinition is null
緣由:
1)檢查bpmn 文件的id和請求的id 是否一致;從如下圖片可看出,bpmn的id 是Processaaa,然而請求的id是 Process .須要修改請求的id爲 Processaaa 便可
2)還可能的緣由是;在 main/resource下面沒有添加META-INF文件,切記還須要在下面加一個process.xml空文件哦