Camel MongoDB:如何添加自定义转换器

时间:2012-10-20 11:57:29

标签: apache-camel

我查看了documentation,但找不到如何为mongoDB添加自定义类型转换器。怎么能这样做?

1 个答案:

答案 0 :(得分:2)

首先,我认为fromAnyObjectToDBObject默认转换器可以解决大多数情况。它使用 Jackson 库,您只需要使用正确的注释标记自定义类。

无论如何,如果您仍需要自定义转换器,则应执行以下步骤:

  1. 将您的转换逻辑设为白色,并使用org.apache.camel.Converter注释标记您的类和转换器方法:

    package com.acme.converters;
    
    @Converter
    public class CustomConverter {
    
      @Converter
      public static DBObject fromCustomToDBObject(CustomType object) {
        // conversion logic
      }
    
    }
    
  2. 创建以下资源文件放在结果罐中:

  3. <强> META-INF /服务/组织/阿帕奇/骆驼/的TypeConverter

    并在此文件中列出您的转换器类:

    com.acme.converters.CustomConverter

    此文件可帮助 Camel 自动发现您自己的转换器。

    您还可以查看:

      META-INF/services/org/apache/camel/TypeConverter camel-mongodb-x.x.x.jar 中了解如何定义默认转换器
    • org.apache.camel.impl.converter.AnnotationTypeConverterLoader类检查转换器加载逻辑