Java 如何访问Apache Camel 2.14.1中Hashmap中的属性?

Java 如何访问Apache Camel 2.14.1中Hashmap中的属性?,java,spring,apache-camel,Java,Spring,Apache Camel,我是一个刚开始使用Camel的人,我还有一个疑问,在ApacheCammel 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">

我是一个刚开始使用Camel的人,我还有一个疑问,在ApacheCammel 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>

如果我用camel打印地图,我可以看到值

<log message="*** MAP = ${ref:mapRegion}" loggingLevel="DEBUG" />
*** MAP = {R02=two, R01=one}

***MAP={R02=2,R01=1}
如何访问地图中的特定属性?我试过了

<log message="*** MAP = ${ref:mapRegion.R01}" loggingLevel="DEBUG" />
<log message="*** MAP = ${ref:mapRegion[R01]}" loggingLevel="DEBUG" />
<log message="*** MAP = ${ref:mapRegion['R01']}" loggingLevel="DEBUG" />

但非此不可,总是打印空值


提前感谢在简单语言中,
ref
函数不支持引用bean并进行OGNL或映射查找


顺便问一下,你的用例是什么。您似乎只是在调试级别记录它。但是这样做的业务用例/价值是什么。

我找到的解决方案是下一个解决方案

        <setProperty propertyName="SERVICE_REGION">
            <simple>${bean:mapRegion?method=get(${property.phoneRegion})}</simple>
        </setProperty>

${bean:mapRegion?方法=get(${property.phoneRegion})}

使用bean和bean的id,我们可以调用HashMap的一个特定方法,我们可以发送我们试图检索的密钥,在这种情况下,调试级别仅用于测试和调试porpouse,以验证我是否获得了正确的映射值