2017-02-13 70 views
0

我很喜歡在駱駝工作,我有下一個疑問,我如何訪問Apache Camel 2.14.1中的HashMap中的屬性?如何訪問Apache Camel 2.14.1中的Hashmap中的屬性?

我的下一個宣佈豆

<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" /> 

但是非正常工作,總是打印空值。提前

回答

1

,我發現這是下一個

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

使用bean和bean的id的解決方案,我們可以調用的HashMap的具體方法,我們可以把我們的關鍵試圖檢索

0

感謝那些不被ref功能在簡單的語言支持是指一個bean,並做OGNL或地圖查找。

而btw什麼是你的用例。你似乎只能在DEBUG級別登錄。但是,這樣做的業務用例/價值是什麼。

+0

嗨,在這種情況下,調試級別僅用於測試和調試porpouse來驗證我是否得到了正確的地圖值 –

相關問題