Apache camel 驼峰表达式-以标头值作为参数的简单表达式

Apache camel 驼峰表达式-以标头值作为参数的简单表达式,apache-camel,Apache Camel,我正在尝试使用下面的表达式设置骆驼头值 .setHeader("amqName").simple("${amqAddressMap.get(header.userTypeID)}", String.class) 其中,AMQADDRESMAP是一个数组列表,并将头值作为参数传递,但它显示无效的表达式错误 是否有任何方法可以在不使用processor类访问exchange内部的ArrayList的情况下执行代码?我们需要将其设置为属性 setProperty("amqAddressMap",

我正在尝试使用下面的表达式设置骆驼头值

 .setHeader("amqName").simple("${amqAddressMap.get(header.userTypeID)}", String.class)
其中,AMQADDRESMAP是一个数组列表,并将头值作为参数传递,但它显示无效的表达式错误


是否有任何方法可以在不使用processor类访问exchange内部的ArrayList的情况下执行代码?我们需要将其设置为属性

setProperty("amqAddressMap", constant(amqAddressMap))
这样我们就可以使用EL-like访问它

${exchangeProperty.amqAddressMap.get(${header.userTypeID})}

你好我想你需要有
${amqaddresmap.get(${header.userTypeID})}
@Screwtape不工作…@Screwtape是正确的。另外,
amqaddresmap
是如何声明的?我盲目的猜测是它是您的本地java变量,您不能这样做,您只能访问存储在Exchange中的对象。使用
setProperty(“amqaddresmap”,常量(amqaddresmap))
,然后可以使用
${exchangeProperty.amqaddresmap.get(${header.userTypeID})}
引用它。我很确定异常消息比“invalid expression error”更能说明问题@Screwtape设置属性修复了这个问题。谢谢你能回答吗?@Bedla-我想这是你的。。。如果你想要它。。。