前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Activiti之流程引擎的API和服务

Activiti之流程引擎的API和服务

作者头像
周杰伦本人
发布2023-10-12 13:55:18
2080
发布2023-10-12 13:55:18
举报
文章被收录于专栏:同步文章

流程引擎的API和服务

引擎API是与Activiti打交道的最常用方式。 从ProcessEngine中,你可以获得很多囊括工作流/BPM方法的服务。 ProcessEngine和服务类都是线程安全的。 你可以在整个服务器中仅保持它们的一个引用就可以了。

代码语言:javascript
复制
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RuntimeService runtimeService = processEngine.getRuntimeService();
RepositoryService repositoryService = processEngine.getRepositoryService();
TaskService taskService = processEngine.getTaskService();
ManagementService managementService = processEngine.getManagementService();
IdentityService identityService = processEngine.getIdentityService();
HistoryService historyService = processEngine.getHistoryService();
FormService formService = processEngine.getFormService();
  1. RepositoryService 管理流程定义 :提供了管理和控制发布包和流程定义的操作。
    • 查询引擎中的发布包和流程定义。
    • 暂停或激活发布包,对应全部和特定流程定义。 暂停意味着它们不能再执行任何操作了,激活是对应的反向操作。
    • 获得多种资源,像是包含在发布包里的文件, 或引擎自动生成的流程图。
    • 获得流程定义的pojo版本, 可以用来通过java解析流程,而不必通过xml。
  2. RuntimeService 执行管理
    • 负责启动一个流程定义的新实例
    • 用来获取和保存流程变量,这些数据是特定于某个流程实例的,并会被很多流程中的节点使用 (比如,一个排他网关常常使用流程变量来决定选择哪条路径继续流程)
    • 能查询流程实例和执行
    • 可以在流程实例等待外部触发时使用,这时可以用来继续流程实例
  3. TaskService 管理任务 任务是由系统中真实人员执行的,它是Activiti这类BPMN引擎的核心功能之一。 所有与任务有关的功能都包含在TaskService中
    • 查询分配给用户或组的任务
    • 创建独立运行任务。这些任务与流程实例无关。
    • 手工设置任务的执行者,或者这些用户通过何种方式与任务关联。
    • 认领并完成一个任务。认领意味着一个人期望成为任务的执行者, 即这个用户会完成这个任务。完成意味着“做这个任务要求的事情”。 通常来说会有很多种处理形式。
  4. IdentityService 管理组织机构 非常简单。它可以管理(创建,更新,删除,查询…)群组和用户
  5. FormService 管理任务表单 提供了启动表单和任务表单两个概念。 启动表单会在流程实例启动之前展示给用户, 任务表单会在用户完成任务时展示
  6. HistoryService 管理历史 提供了Activiti引擎手机的所有历史数据。 在执行流程时,引擎会保存很多数据(根据配置),比如流程实例启动时间,任务的参与者, 完成任务的时间,每个流程实例的执行路径,等等。 这个服务主要通过查询功能来获得这些数据。
  7. ManagementService 在使用Activiti的定制环境中基本上不会用到。 它可以查询数据库的表和表的元数据。另外,它提供了查询和管理异步操作的功能。 Activiti的异步操作用途很多,比如定时器,异步操作, 延迟暂停、激活,等等

参考: Activiti中文手册: http://www.mossle.com/docs/activiti/index.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 流程引擎的API和服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档