我有一个MuleClient,它向下面的Mule流发送一条消息,但我没有看到响应部分的mule流中反映的属性,我应该在什么范围内创建属性?
MuleMessage msg = new DefaultMuleMessage();
Map<String,Object> propertiesMap = new HashMap<String,Object>();
propertiesMap.put("name", "hello");
msg.addProperties( propertiesMap, PropertyScope.INVOCATION);
然后在流程中我试图像这样访问这个属性
message.getInvocationProperty("name")
并返回null ...我缺少什么?
答案 0 :(得分:4)
如果使用VM(或任何传输)端点向流发送消息,则不会传播调用属性。
您需要将属性放在出站范围内:它们将从流的入站端点到达入站范围。
答案 1 :(得分:0)
由于您要将MuleMessage发送到连接器(即入站虚拟机),因此您的流中不提供调用属性。出站范围中的MessageProperties将被修改为入站范围。所以在您的流访问中使用出站范围,如#[message.inboundPrperties ['name']]