diff --git a/src/com/wentch/redkale/convert/bson/BsonFactory.java b/src/com/wentch/redkale/convert/bson/BsonFactory.java index dca851de1..8097f6cab 100644 --- a/src/com/wentch/redkale/convert/bson/BsonFactory.java +++ b/src/com/wentch/redkale/convert/bson/BsonFactory.java @@ -5,8 +5,7 @@ */ package com.wentch.redkale.convert.bson; -import com.wentch.redkale.convert.ConvertType; -import com.wentch.redkale.convert.Factory; +import com.wentch.redkale.convert.*; import java.io.Serializable; /** @@ -17,9 +16,13 @@ public final class BsonFactory extends Factory { private static final BsonFactory instance = new BsonFactory(null, Boolean.getBoolean("convert.bson.tiny")); + static final Decodeable objectDecoder = instance.loadDecoder(Object.class); + + static final Encodeable objectEncoder = instance.loadEncoder(Object.class); + static { - instance.register(Serializable.class, instance.loadDecoder(Object.class)); - instance.register(Serializable.class, instance.loadEncoder(Object.class)); + instance.register(Serializable.class, objectDecoder); + instance.register(Serializable.class, objectEncoder); } private BsonFactory(BsonFactory parent, boolean tiny) { diff --git a/src/com/wentch/redkale/convert/bson/BsonReader.java b/src/com/wentch/redkale/convert/bson/BsonReader.java index 2180886da..d6873e166 100644 --- a/src/com/wentch/redkale/convert/bson/BsonReader.java +++ b/src/com/wentch/redkale/convert/bson/BsonReader.java @@ -125,6 +125,9 @@ public final class BsonReader implements Reader { case 109: StringArraySimpledCoder.instance.convertFrom(this); break; + case 127: + BsonFactory.objectDecoder.convertFrom(this); + break; } }