I have exactly the same problem with new version of FasterXML. (2.7.3). FasterXML now have a "Codec" to handle objects, beside of serializers. I resolved that issue with a serializer that invalidate the codec so the date object arrive to mongo driver without been touch.
private static class MongoDateSerializer extends JsonSerializer<Date> {
public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
TokenBuffer buffer = (TokenBuffer) jgen;
ObjectCodec codec = buffer.getCodec();
buffer.setCodec(null);
buffer.writeObject(value);
buffer.setCodec(codec);
}
}
Look the line buffer.writeObject(value)
, thats the way that old versions of FasterXML just did it.