0
我已經看過documentation,但找不到如何爲mongoDB添加自定義類型轉換器。如何做到這一點?駱駝MongoDB:如何添加切換器
我已經看過documentation,但找不到如何爲mongoDB添加自定義類型轉換器。如何做到這一點?駱駝MongoDB:如何添加切換器
首先我認爲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
該文件將幫助駱駝自動發現您自己的轉換器。
您還可以看看:
META-INF/services/org/apache/camel/TypeConverter
在駱駝的mongodb-xxxjar,看看如何轉換默認定義org.apache.camel.impl.converter.AnnotationTypeConverterLoader
類檢查轉換器加載邏輯
謝謝!所以它是普通的駱駝轉換器... – redben
BTW爲傑克遜註釋有時類不是你的(例如joda-time,util.Currency ..等等),所以你必須創建自己的轉換器:) – redben
好點,贊同。 – udalmik