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

在ACTIVITI流程中处理多个Rest服务

尹凌龙
2023-03-14

我对Spring和Activiti完全陌生,并为自己做了一个运行良好的小项目。该服务中有4个服务任务、一个REST控制器、1个进程、1个服务和4个方法。

当我调用服务器endpoint时,我启动了我的流程,它只是一步一步地完成我的服务任务并调用服务。方法,如表达式${service.myMethod()}中定义的。

但是,我真正需要的是一个工作流,它在servicecall之后停止,并等待发送另一个请求,类似于等待输入的用户任务,整个过程应该暂停,直到我将请求发送到另一个endpoint。

比如我的URL:8080/startprocess,也许第二天我的URL:8080/continueprocess。甚至可能保存一些数据以供继续使用。

有没有简单的预定义方法来做到这一点?

顺致敬意,

共有1个答案

闻人鸿飞
2023-03-14

您可以使用人工任务,或在每次活动后使用“信号中间捕捉事件”(请参阅activiti的用户指南)。

当您这样做时,第一个rest调用将启动一个新的流程实例,该实例将执行流的活动,直到它到达信号元素。当这种情况发生时,引擎保存其当前状态并将控制权返回给调用方。

为了让您流程进步,您必须向它发送一个“信号”,您可以通过API调用或使用其余API来执行此操作(请参阅指南中的项目15.6.2)

 类似资料:
  • 我想在同一个Java过程中使用KCL处理多个Kinesis流。 想法很简单:为每个流创建一个新的KCL实例,然后并发运行worker。 我的问题是,在这种情况下,所有KCL实例是否都使用相同的线程池,以及在处理流处理时,这种想法是否是一种好的/常见的做法。 非常感谢。

  • 我正在使用与Spring Boot Activiti Starter集成的Activiti 5 REST API接口,我正在尝试完成一个流程实例。我能够实例化流程定义,遍历流程实例任务并完成其中的每一项。它可以正常工作,直到流程结束,没有剩余的挂起任务。我希望流程实例能够完成,即completed:true,因为我有一个结束事件(terminateEventDefinition),但事实并非如此。

  • 我想在Docker容器中启动两个不同的服务,并在其中一个退出后立即退出容器。我查看了supervisor,但找不到如何让它在一个托管应用程序退出后立即退出。它试图重启它们多达三次,就像标准设置一样,然后什么也不做。主管是否能够做到这一点,或者是否有其他工具可以做到这一点?如果还有一种方法可以让两个托管程序都写入到stdout,并标记它们的应用程序名,则会有好处,例如:

  • 问题内容: 请考虑以下代码: 这给出了输出 但是,我希望它能给 ..因为在调用触发方法时h.id已更改为“ B”。 似乎是在启动单独的进程时创建了主机实例的副本,因此原始主机中的更改不会影响该副本。 在我的项目中(当然,要更详细地说明),主机实例字段有时会更改,并且由在单独的进程中运行的代码触发的事件可以访问这些更改很重要。 问题答案: 多处理在不同的 流程中 运行东西。事物在发送时 不被 复制几

  • 我已经使用eclipse的Service任务等创建了一个Activit Process,并将. bar部署到在tomcat上运行的Activiti。它已成功部署,我可以使用Activit-Explorer启动我的进程,没有任何问题。部署的进程名称是“我的进程”,它列在进程下- 但我有两个问题。 我需要使用REST调用启动进程。(即不使用Activiti explorer)。它的URL是什么?我尝试