流程引擎API

目录

 

一、服务API

二、查询API


一、服务API

可以从ProcessEngine中获取工作流/BPM方法的工作服务。

  • 获取流程引擎对象
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

可以使用ProcessEngines.init()和正确创建和关闭所有流程引擎ProcessEngines.destroy()

  • RepositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();

管理和操纵部署和流程定义的操作。

查询引擎已知的部署和流程定义。

挂起并激活流程定义。

检索各种资源。

  • RuntimeService
RuntimeService runtimeService = processEngine.getRuntimeService();

处理启动流程定义的新流程实例。

存储和检索过程变量的服务。

查询流程实例和执行。

  • TaskService
TaskService taskService = processEngine.getTaskService();

查询分配给用户或组的任务。

创建新的独立任务。这些是与流程实例无关的任务。

操纵任务分配给哪个用户或该任务涉及某种用户。

声明并完成任务。

  • IdentityService
IdentityService identityService = processEngine.getIdentityService();

对组和用户进行管理。

  • FormService
FormService formService = processEngine.getFormService();

介绍了启动表单和任务表单。

  • HistoryService
HistoryService historyService = processEngine.getHistoryService();

访问所有历史数据。

  • ManagementService
ManagementService managementService = processEngine.getManagementService();

允许检索有关数据库表和表元数据的信息。

作业的查询和管理操作。

  • FilterService
FilterService filterService = processEngine.getFilterService();

创建和管理过滤器。

  • ExternalTask​​Service
ExternalTaskService externalTaskService = processEngine.getExternalTaskService();

访问外部任务实例,外部任务实例独立于流程实例之外。

  • CaseService
CaseService caseService = processEngine.getCaseService();

处理启动案例定义的新案例实例并管理案例执行的生命周期。

用于检索和更新案例实例的过程变量。

  • DecisionService
DecisionService decisionService = processEngine.getDecisionService();

评估发布到流程引擎的决策。

 

二、查询API

  • Java查询API:用于查询引擎实体(例如ProcessInstances,Tasks等)。
List<Task> tasks = taskService.createTaskQuery()
  .taskAssignee("kermit")
  .processVariableValueEquals("orderId", "0815")
  .orderByDueDate().asc()
  .list();
  • REST查询API:用于查询引擎实体(如ProcessInstances,Tasks等)的REST API。
  • 本地查询:如果查询API缺少您所需的功能(例如OR条件),则提供自己的SQL查询以检索引擎实体(如ProcessInstances,Tasks等)。
List<Task> tasks = taskService.createNativeTaskQuery()
  .sql("SELECT count(*) FROM " + managementService.getTableName(Task.class) + " T WHERE T.NAME_ = #{taskName}")
  .parameter("taskName", "aOpenTask")
  .list();

long count = taskService.createNativeTaskQuery()
  .sql("SELECT count(*) FROM " + managementService.getTableName(Task.class) + " T1, "
         + managementService.getTableName(VariableInstanceEntity.class) + " V1 WHERE V1.TASK_ID_ = T1.ID_")
  .count();
  • 自定义查询:使用完全自定义的查询和自己的MyBatis映射来检索自己的值对象或使用域数据加入引擎。
  • SQL查询:将数据库SQL查询用于诸如“报告”之类的用例。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值