在 Apache Camel 路由中定义非空映射变量

Defining a non null map variable in Apache Camel routes

我遇到一种情况,我想在 Camel 路由中定义一个非 null Map 变量并为其赋值。但是我找不到办法做到这一点。

我尝试通过在 setProperty 中将 resultType 设置为 "java.util.HashMap" 来定义映射 field.But 我遇到了 NullPointerException。

   <route id = "update_fields">
    <from uri ="direct:update_fields"/>
    <setProperty propertyName="fieldMap">
    <simple resultType="java.util.HashMap">[:]</simple>              
    </setProperty>               
    <groovy>exchange.getProperty('fieldMap').put(body.rId,body.b_id)</groovy>
    </route>

使用groovy语言ala:

<setProperty propertyName="fieldMap">
  <groovy>new HashMap()</groovy>              
</setProperty>