当接受到特定的消息后消息开始事件
被触发,启动一个流程实例。与信号开始事件不同,每个消息只允许有一个订阅者(subscriber)。
Message Start Event
是一种模式基础,如果处理外部系统消息(如JMS、HTTP、SOAP),则需要开发人员使用AWS CC结合API编程完成流程的启动和数据初始化。例如,当接收到一个JMS消息订阅时,在Java代码中调用SDK.getProcesAPI().startByMessage()完成流程的启动
内部消息
,匹配并启动流程单开始 | 多开始 |
---|---|
消息
设置要订阅的消息。要正确监听消息,首先在该流程属性的消息
中定义消息变量名,并确保消息变量名的全局唯一性。
如果当前引擎中部署的流程文件存在多个
Message Start Event
且消息变量名重复,只允许其中一个作为有效订阅者。
例如,当捕获到内部消息
名为Alibaba-B2B-Order
时,自动启动X订单流程。
也可以使用以下代码直接向消息开始事件发送内部消息
//发送一个名为Alibaba-B2B-Order的内部消息,当匹配捕获规则时自动启动流程
SDK.getProcessAPI().startByMessage("Alibaba-B2B-Order");
//初始化数据
Map<String, Object> payload = new HashMap<>();
payload.put("OrderNo", "008");
SDK.getProcessAPI().startByMessage("Alibaba-B2B-Order", null, payload);