流程启动的时候没有传task,所以不能像在流转后onAfterAdvance中获取task一样用ProcessUtils.getProcessContext().getTask().getId()获取
流程启动后会在返回结果中有task,所以可以在onAfterStart中从action的返回结果中获取,具体如下:
public static void flowProcessAfterStart() { List<Map<String, String>> list = (List<Map<String, String>>)ContextHelper.getActionContext().getActionResult(); for(Map<String, String> map: list){ System.out.println(map.get("task")+"输入生成的任务ID"); } }
如果要在启动后修改任务名称可以通过上面的获取到task的值(就是SA_Task中sID的值),然后用ksql或者sql去修改SA_Task中sName的值
评一波