0

我查看了文档,但找不到如何为 mongoDB 添加自定义类型转换器。一个人怎么能做到?

4

1 回答 1

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. 创建以下要放置在结果 jar 中的资源文件:

META-INF/services/org/apache/camel/TypeConverter

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

com.acme.converters.CustomConverter

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

你也可以看看:

  • META-INF/services/org/apache/camel/TypeConvertercamel-mongodb-xxxjar中查看默认转换器是如何定义的
  • org.apache.camel.impl.converter.AnnotationTypeConverterLoader检查转换器加载逻辑的类
于 2012-11-04T13:42:35.080 回答