使用apache camel routing

时间:2015-11-20 19:09:22

标签: java mongodb apache-camel

我面临的问题就像将数据存储到数据库中一样,存储的字段也是空的。

是否有可能在camel路由的保存操作中忽略对象中的空字段。

从camel routing xml中查找示例代码段。

<to uri="bean:processorBean?method=getRequest(${header.ccsRequest})"/>
<to uri="mongodb:myDb?database=test&amp;collection=test&amp;operation=save"/>

$ {header.ccsRequest} - &gt;这会将我的pojo对象传递给方法 getRequest - &gt;这个方法会改变pojo对象的一些变化。

保存操作后的数据库中:

{
    "action" : "Create",
    "urls" : null,
    "createModifyId" : "test",
    "createModifyDate" : "Tue Nov 17 17:29:07 GMT-03:00 2015",
    "completedDate" : null
}

请您帮忙忽略网址完整日期等空字段。提前谢谢。

1 个答案:

答案 0 :(得分:0)

可能有更优雅的方法,但我会做以下事情:

  1. bean:processorBeanmongodb:myDb
  2. 之间添加新处理器
  3. 使用org.apache.commons.beanutils.BeanMap
  4. 从POJO创建地图
  5. 清理您不需要的键值对
  6. 将地图编组为JSON并将其传递给mongodb