如何在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
)返回通用数据类型。
答案 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);