当前位置: 首页 > 知识库问答 >
问题:

Camunda自定义任务列表-完成任务

危晨
2023-03-14

首先,我是卡蒙达的新手。。我在camunda中创建了一个自定义任务列表。我可以申请/取消申请任务等,这是可行的。

现在我想完成一项任务,但是当我打电话的时候:

public void completeSelectedTask() {
    taskService.complete(selectedTask.getId());
}

似乎camunda希望在此上下文中进入下一步,而不是部署BPMN模式以及部署执行下一步所需的一切的上下文。所以我得到了“classNotFound”异常,因为我的customTasklist中没有相同的类。战争就像卡蒙达处理器一样。战争

我怎么能告诉camunda在正确的上下文中进行下一步?!或者我处理这个错误,我应该总是在camundaProccitter上下文中完成任务吗?

更多信息:它是用表单完成一个用户任务。我目前将表单添加到CustTasklist.war而不是camundaProcessor.war(所以开箱即用的任务列表当然不再工作,因为他正在camundaProcessor.war中寻找表单)

共有1个答案

龙焱
2023-03-14

为了解释,我假设有上下文A和上下文B。例如,这些可能是针对同一数据库运行流程引擎的集群节点。我们假设,您在上下文A中完成任务,但处理下一个任务的资源(例如,服务任务的Java代表团实现)仅在上下文B中可用。

解决您绘制的问题的两种方法都是有效的。要么确保任务在上下文B中完成,要么确保在上下文A中完成任务后,流程在上下文B中继续执行。

为了实现第二个解决方案,可以使用异步延续。特别是,在BPMN XML中的userTask元素上,可以设置属性camunda:asyncAfter=“true”。当任务在上下文A中完成时,流程执行将继续,直到用户任务的活动实例完成为止。流程引擎将作业持久化到数据库中,而不是立即在后续活动中继续执行。作业表示继续执行流程的任务。它最终由作业执行器组件拾取并执行。假设作业执行器在上下文B中运行,它将能够正确解析资源。

 类似资料:
  • 然后调用getTaskService().getIdentityLinksForTask(taskId)以获取在“camunda:CandidateUsersReadOnly”中定义的ID? 谢了!

  •  说明 调用方法1: $.f2eAct.task(el,options); 函数说明: 该方法完成主要调用joinAndFinish完成任务,会根据接口返回的奖品类型显示不同文案,如卡玛、实物、谢谢参与等。 当获取的奖品数量大于1时,会默认触发 $(".js-package").click(); 事件,所以需要在JS里定义.js-package点击方法。 使用的时候需要在相应dom元素添加 da

  • 在 Fabric 1.1 中存在两种定义 fabfile 中对象为任务的方式: “从 1.1 版本后支持的新”方法需要是 Task 或其子类的实现,and also descends into imported modules to allow building nested namespaces. The “classic” method from 1.0 and earlier conside

  • 据我所知,Camunda提供了两种将Java代码与服务任务集成的方法: 1.)声明一个实现JavaDelegate接口的Spring-Bean(该方法将一个DelegateExecution作为参数)。这个方法允许我存储任意多个结果变量,但我看不到定义映射process-variable->input-variable的选项。 2.)声明一个通用的Spring bean可由camunda访问,并定

  • 问题1:我正在我的spring boot应用程序中集成Camunda工作流引擎。我在一个单独的业务数据库中有用户,需要与Camunda工作流引擎同步,以便将用户分配给特定的任务。业务数据库中的用户不按组分类,但有特定的角色。我想把这些角色和卡蒙达的组同步。

  • 定义一个配置 在配置文件 .sbt这章已经将了如何定义个配置,大部分配置定义在Default中 配置有三种类型,其中SettingKey和TaskKey已经在配置文件 .sbt介绍了,InputKey在任务配置的输入章节介绍。 对于配置的一些例子: val scalaVersion = settingKey[String]("The version of Scala used for buildi