Flowable工作流-简单的介绍
Flowable - 工作流
官方文档:
https://tkjohn.github.io/flowable-userguide/#_introduction
主要对象ProcessEngine
ProcessEngine 主要对应几个服务:
- RepositoryService 资理源管
- RunTimeService 流程运行服务
- TaskService 任务服务
- HistoryService 历史记录服务
RepositoryService 资理源管
部署流程
将流程定义部署至Flowable引擎,需要使用RepositoryService,其可以从ProcessEngine对象获取。使用RepositoryService,可以通过XML文件的路径创建一个新的部署(Deployment),并调用deploy()方法实际执行:
RepositoryService repositoryService = processEngine.getRepositoryService();
Deployment deployment = repositoryService.createDeployment()
.addClasspathResource("holiday-request.bpmn20.xml")//resouce目录下的文件
.deploy();
查询部署实例
/**
* 获取flowable实例对象
*/
ProcessEngineConfiguration configuration=null;
@Before
public void testProcessEngine() {
configuration = new StandaloneProcessEngineConfiguration()
//链式调整
.setJdbcUrl("jdbc:mysql://localhost:3306/2022?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai")
.setJdbcUsername("root")
.setJdbcPassword("123456")
.setJdbcDriver("com.mysql.cj.jdbc.Driver")
.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
//创建引擎对象
// ProcessEngine processEngine = configuration.buildProcessEngine();
}
//部署
@Test
public void deployment(){
ProcessEngine processEngine = configuration.buildProcessEngine();
//获取资源对象
RepositoryService repositoryService = processEngine.getRepositoryService();
//创建一个流程部署对象
DeploymentBuilder deployment = repositoryService.createDeployment();
//设置流程图
deployment.addClasspathResource("holiday-request.bpmn20.xml");
deployment.name("holiday-request");
//开始部署
deployment.deploy();
}
//查询
@Test
public void deploymentQuery(){
ProcessEngine processEngine = configuration.buildProcessEngine();
//获取资源对象
RepositoryService repositoryService = processEngine.getRepositoryService();
//创建一个流程部署对象
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();
ProcessDefinition processDefinition = processDefinitionQuery.deploymentId("1").singleResult();
System.out.println("processDefinition.getDeploymentId() = " + processDefinition.getDeploymentId());
System.out.println("processDefinition.getName() = " + processDefinition.getName());
}
RunTimeService 流程运行服务
TaskService 任务服务
HistoryService 历史记录服务
开开心心,上班!
快快乐乐,游玩!
及时行乐!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律