camel-mongodb Speichern Sie java.util.Date als ISODate anstelle von NumberLong

8

Ich benutze Apache Camel 2.13.1 und MongoDB 2.2.2. Ich habe folgende Route:

%Vor%

Der Consumer-Dateiendpunkt nimmt eine XML-Datei und entpackt sie zu einem POJO, der mehrere Felder mit dem Datentyp int, String und java.util.Date enthält. Es wird gespeichert / eingefügt, aber das Datumsfeld wird als Typ NumberLong anstelle von ISODate gespeichert.

Wenn ich es jedoch mit dem MongoDB-Java-Treiber speichere (d. h. DBObject erstellen, einen Schlüssel mit einem Feld "new Date ()" zuordnen), wird es als ISODate in MongoDB gespeichert. Irgendwie kann ich das tun, indem ich nur camel XML DSL benutze?

BEARBEITEN: In die Codes und die Dokumentation eingravierend, verwendet camel-mongodb Jackson, der es zuerst in eine Map und dann in ein BasicDBObject konvertiert. Gibt es einen Weg in der XML-DSL kann ich das Verhalten von Jackson konfigurieren? Letzter Ausweg wäre, einen benutzerdefinierten Typkonverter zu schreiben.

    
allancth 09.07.2014, 03:36
quelle

0 Antworten