Camunda BPM 初步了解
Camunda BPM
用途: 流程管理、流程解决方案
支持语言: java ,nodejs
官网入门指导:https://docs.camunda.org/get-started/quick-start/ 看官网可以快速构建一个可用的工程;
我尝试使用了spring boot ,maven,Camunda BPM写了个官网例子;
1、Spring boot 快速构建一个 web工程,https://start.spring.io/
2、把生成的工程导入到idea 或者eclipse里面;
2.1 修改pom.xml文件的依赖如下:
<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
页面如下:
3、官网下载
camunda bpm 画流程图的工具:Camunda Modeler
下载链接:https://camunda.com/download/modeler/?__hstc=12929896.ac03a515a45a7a10726115b3f850d7c2.1551935385801.1551935385801.1551935385801.1&__hssc=12929896.2.1551955519686&__hsfp=100025305
解压后,直接打开exe文件,可以打开工作界面;
4、画图如下,注意第二个方框上有一个人
画好后,点击右侧,查看id;这个id是流程图的唯一标志id;
保存文件为taskflow.bpmn
5、在 main/resources下面加入 META-INF 文件,在META-INF 下加入processes.xml文件,内容为空;
6、在main/resources下面加入application.yaml; 内容如下:
camunda.bpm:
admin-user:
id: kermit
password: superSecret
firstName: Kermit
filter:
create: All tasks
说明:不加这个文件也可以启动,但是访问页面时没有登录
7、启动spring boot ;访问localhost:8080
可以看到登录界面,登录
账号
Kermit
密码:
superSecret
可以进入系统
8、把文件 taskflow.bpmn 复制到项目中,放在 main/resources下面;
修改主程序入口:
由于taskflow.bpmn 的流程id为Process_1,所以这里填写Process_1
9、重启spring boot;
访问 localhost:8080
登录后可以查看到新增了一个task
示例代码
https://github.com/bellagoodday/camundabpm.git
可能遇到的问题
1、
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空文件哦
精准、高效、可靠