Mule-在Groovy组件中从映射中删除给定密钥
我需要在groovy中从映射中删除一个键。我看过很多帖子,并尝试过这样做:Mule-在Groovy组件中从映射中删除给定密钥,groovy,mule,mule-component,Groovy,Mule,Mule Component,我需要在groovy中从映射中删除一个键。我看过很多帖子,并尝试过这样做: def mymap = message.getInboundProperty("http.query.params"); mymap.remove('thatKey'); 上述代码不适用于我,并引发错误: Message : Failed to invoke ScriptComponent{GlobalProductDataStoreIntegrationMainFlo
def mymap = message.getInboundProperty("http.query.params");
mymap.remove('thatKey');
上述代码不适用于我,并引发错误:
Message : Failed to invoke ScriptComponent{GlobalProductDataStoreIntegrationMainFlow.component.1929599908}. Component that caused exception is: ScriptComponent{GlobalProductDataStoreIntegrationMainFlow.component.1929599908}. Message payload is of type: NullPayload
Type : org.mule.component.ComponentException
Code : MULE_ERROR--2
Payload : {NullPayload}
JavaDoc : http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/component/ComponentException.html
********************************************************************************
Exception stack is:
1. null (java.lang.UnsupportedOperationException)
java.util.Collections$UnmodifiableMap:1345 (null)
2. java.lang.UnsupportedOperationException (javax.script.ScriptException)
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl:348 (http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/script/ScriptException.html)
3. Failed to invoke ScriptComponent{GlobalProductDataStoreIntegrationMainFlow.component.1929599908}. Component that caused exception is: ScriptComponent{GlobalProductDataStoreIntegrationMainFlow.component.1929599908}. Message payload is of type: NullPayload (org.mule.component.ComponentException)
org.mule.component.AbstractComponent:142 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/component/ComponentException.html)
********************************************************************************
Root Exception stack trace:
java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableMap.remove(Collections.java:1345)
at org.mule.module.http.internal.ParameterMap.remove(ParameterMap.java:112)
因为映射是不可变的,所以您得到了UnsupportedOperationException;它不能被修改。解决方法是创建一个新的映射,其中不包括您不想要的条目:
def mymap = message.getInboundProperty("http.query.params").findAll {
it.key != 'thatkey'
}
因为映射是不可变的,所以您得到了UnsupportedOperationException;它不能被修改。解决方法是创建一个新的映射,其中不包括您不想要的条目:
def mymap = message.getInboundProperty("http.query.params").findAll {
it.key != 'thatkey'
}