调查Flowable的BPMN中的消息事件(Message Event)的用法
设计一个通过消息启动事件开始的流程,然后通过RestAPI部署并启动它
流程图
通过rest api部署
POST repository/deployments
启动流程
通过message方式启动。
POST runtime/process-instances
{
“message”:“newOrderMessage”,
“businessKey”:“myBusinessKey”,
“tenantId”: “tenant1”,
“variables”: [
{
“name”:“myVar”,
“value”:“This is a variable”
}
]
}
完成任务a。
POST runtime/tasks/{taskId}
流程结束。
设计一个包含消息边界事件的流程,然后实现让流程返回的功能
流程图
部署启动流程
完成task1.
通过processInstanceId查询execution。
首先查询任务的processInstanceId。
之后通过该id查询execution
http://localhost:8080/flowable-ui/process-api/runtime/executions?processInstanceId={processInstanceId}
查询找到依附于task2的边界消息事件的execution Id。
执行execution。
PUT runtime/executions/{executionId}
请求正文(接收到执行的信号事件):
{
“action”:“messageEventReceived”,
“messageName”:“messageName2”
“variables”: [ ]
}
通知执行已收到消息事件,需要一个 messageName 参数。可以传递在执行操作之前在执行时设置的可选变量。
流程状态
之后依次完成任务。