[英]How can I access to a property in a Hashmap in Apache Camel 2.14.1?
我是在Camel工作的新手,还有一个疑问,我该如何访问Apache Camel 2.14.1的HashMap中的属性?
我有下一个声明的bean
<bean id="mapRegion" class="java.util.HashMap">
<constructor-arg>
<map key-type="java.lang.String" value-type="java.lang.String">
<entry key="R01" value="one" />
<entry key="R02" value="two" />
</map>
</constructor-arg>
</bean>
如果我用骆驼打印地图,我可以看到值
<log message="*** MAP = ${ref:mapRegion}" loggingLevel="DEBUG" />
*** MAP = {R02=two, R01=one}
如何访问地图中的especific属性? 我尝试过
<log message="*** MAP = ${ref:mapRegion.R01}" loggingLevel="DEBUG" />
<log message="*** MAP = ${ref:mapRegion[R01]}" loggingLevel="DEBUG" />
<log message="*** MAP = ${ref:mapRegion['R01']}" loggingLevel="DEBUG" />
但是这些都不起作用,总是在打印空值。
提前致谢
我找到的解决方案是下一个
<setProperty propertyName="SERVICE_REGION">
<simple>${bean:mapRegion?method=get(${property.phoneRegion})}</simple>
</setProperty>
使用Bean和Bean的ID,我们可以调用HashMap的特定方法,并可以发送尝试检索的密钥。
简单语言的ref
函数不支持ref
Bean并进行OGNL或映射查找。
顺便说一句,您的用例是什么。 您似乎只是将其记录在DEBUG级别。 但是,这样做的业务用例/价值是什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.