mulesoft - 如何在groovy组件

时间:2016-06-24 07:24:44

标签: mule mule-component

如何在message.getInvocationProperties

中获取散列图

嗨,大家好,

我试图在3.7.3运行时的groovy组件中使用它。

import java.util.*;
import org.mule.api.transport.PropertyScope;

HashMap sample = new HashMap<>();
sample.put("name", "abc");
message.setProperty("datastore", sample, PropertyScope.SESSION);
HashMap dataStoreMap = (HashMap)message.getInvocationProperty('datastore');

它给了我Cannot cast object '' with class 'java.lang.String' to class 'java.util.HashMap'的例外。知道如何解决这个问题吗?

然而,api建议message.getInvocationProperty(name)返回通用数据类型。

3 个答案:

答案 0 :(得分:0)

我从这里建议同样的答案:https://forums.mulesoft.com/questions/44598/how-to-get-a-hashmap-in-messagegetinvocationproper.html

将范围从PropertyScope.SESSION替换为PropertyScope.INVOCATION,然后您将获得HashMap。

如果要将地图保留在SESSION范围内,请使用以下内容更改最后一个脚本:message.getProperty('datastore', PropertyScope.SESSION)

答案 1 :(得分:0)

使用PropertyScope.INVOCATION将PropertyScope.SESSION替换为范围,然后您将获得HashMap。它应该工作

答案 2 :(得分:0)

将属性范围从SESSION更改为INVOCATION message.setProperty(&#34; datastore&#34;,sample,PropertyScope.INVOCATION);