如何让CreateOrderController返回指定响应并终止后续工作流任务?
解决方案
要实现返回Not Success并终止后续"保存订单到数据库"任务的执行,你可以按以下方式修改代码:
核心修改点
- 直接替换返回语句为目标内容
- 启动流程实例后主动终止该流程,阻断后续任务执行
修改后的完整代码:
@RestController public class CreateOrderController { @Autowired private RuntimeService runtimeService; @PostMapping("/rest/create/order") public ResponseEntity<?> createOrder(@RequestBody OrderInfo orderInfo) { Map<String, Object> inputData = new HashMap<String, Object>(); inputData.put("orderInfo", orderInfo); ProcessInstance p = runtimeService.startProcessInstanceByKey("hello-world-process", inputData); // 终止流程实例,阻止后续任务运行 runtimeService.deleteProcessInstance(p.getId(), "Cancel subsequent save task"); return ResponseEntity.ok("Not Success "); } }
说明
deleteProcessInstance方法会立即终止指定流程实例,所有未执行的后续任务都会被取消,不会继续推进。- 方法的第二个参数是删除原因,可用于后续日志查询与问题排查。
内容的提问来源于stack exchange,提问作者Hello
相关产品推荐
相关产品推荐

