Mule消息调用范围属性

时间:2013-06-13 22:24:01

标签: mule

我有一个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 ...我缺少什么?

2 个答案:

答案 0 :(得分:4)

如果使用VM(或任何传输)端点向流发送消息,则不会传播调用属性。

您需要将属性放在出站范围内:它们将从流的入站端点到达入站范围。

答案 1 :(得分:0)

由于您要将MuleMessage发送到连接器(即入站虚拟机),因此您的流中不提供调用属性。出站范围中的MessageProperties将被修改为入站范围。所以在您的流访问中使用出站范围,如#[message.inboundPrperties ['name']]