我查看了documentation,但找不到如何为mongoDB添加自定义类型转换器。怎么能这样做?
答案 0 :(得分:2)
首先,我认为fromAnyObjectToDBObject
默认转换器可以解决大多数情况。它使用 Jackson 库,您只需要使用正确的注释标记自定义类。
无论如何,如果您仍需要自定义转换器,则应执行以下步骤:
将您的转换逻辑设为白色,并使用org.apache.camel.Converter
注释标记您的类和转换器方法:
package com.acme.converters;
@Converter
public class CustomConverter {
@Converter
public static DBObject fromCustomToDBObject(CustomType object) {
// conversion logic
}
}
创建以下资源文件放在结果罐中:
<强> 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
类检查转换器加载逻辑