diff --git a/src/com/wentch/redkale/convert/bson/BsonReader.java b/src/com/wentch/redkale/convert/bson/BsonReader.java index e94917d93..749fd139d 100644 --- a/src/com/wentch/redkale/convert/bson/BsonReader.java +++ b/src/com/wentch/redkale/convert/bson/BsonReader.java @@ -9,6 +9,7 @@ import com.wentch.redkale.convert.*; import com.wentch.redkale.convert.ext.*; import com.wentch.redkale.util.*; import java.util.concurrent.atomic.*; +import java.util.function.*; /** * @@ -38,7 +39,19 @@ public final class BsonReader implements Reader { } public static ObjectPool createPool(int max) { - return new ObjectPool<>(max, (Object... params) -> new BsonReader(), null, (x) -> x.recycle()); + return new ObjectPool(max, new Creator() { + + @Override + public BsonReader create(Object... params) { + return new BsonReader(); + } + }, null, new Predicate() { + + @Override + public boolean test(BsonReader t) { + return t.recycle(); + } + }); } public BsonReader(byte[] bytes) { diff --git a/src/com/wentch/redkale/convert/bson/BsonWriter.java b/src/com/wentch/redkale/convert/bson/BsonWriter.java index 52b9081d6..d4c06220c 100644 --- a/src/com/wentch/redkale/convert/bson/BsonWriter.java +++ b/src/com/wentch/redkale/convert/bson/BsonWriter.java @@ -8,6 +8,7 @@ package com.wentch.redkale.convert.bson; import com.wentch.redkale.convert.*; import com.wentch.redkale.util.*; import java.nio.*; +import java.util.function.*; /** * @@ -24,7 +25,19 @@ public class BsonWriter implements Writer { protected boolean tiny; public static ObjectPool createPool(int max) { - return new ObjectPool<>(max, (Object... params) -> new BsonWriter(), null, (x) -> x.recycle()); + return new ObjectPool(max, new Creator() { + + @Override + public BsonWriter create(Object... params) { + return new BsonWriter(); + } + }, null, new Predicate() { + + @Override + public boolean test(BsonWriter t) { + return t.recycle(); + } + }); } public byte[] toArray() { @@ -66,7 +79,7 @@ public class BsonWriter implements Writer { * 扩充指定长度的缓冲区 * * @param len - * @return + * @return */ protected int expand(int len) { int newcount = count + len; diff --git a/src/com/wentch/redkale/convert/json/JsonReader.java b/src/com/wentch/redkale/convert/json/JsonReader.java index 374c97148..407f50e12 100644 --- a/src/com/wentch/redkale/convert/json/JsonReader.java +++ b/src/com/wentch/redkale/convert/json/JsonReader.java @@ -8,6 +8,7 @@ package com.wentch.redkale.convert.json; import com.wentch.redkale.convert.*; import com.wentch.redkale.util.*; import java.util.concurrent.atomic.*; +import java.util.function.*; /** * @@ -22,7 +23,19 @@ public final class JsonReader implements Reader { private int limit; public static ObjectPool createPool(int max) { - return new ObjectPool<>(max, (Object... params) -> new JsonReader(), null, (x) -> x.recycle()); + return new ObjectPool(max, new Creator() { //为了兼容 JDK 6 + + @Override + public JsonReader create(Object... params) { + return new JsonReader(); + } + }, null, new Predicate() { + + @Override + public boolean test(JsonReader t) { + return t.recycle(); + } + }); } public JsonReader() { diff --git a/src/com/wentch/redkale/convert/json/JsonWriter.java b/src/com/wentch/redkale/convert/json/JsonWriter.java index c62e32120..8c08296e9 100644 --- a/src/com/wentch/redkale/convert/json/JsonWriter.java +++ b/src/com/wentch/redkale/convert/json/JsonWriter.java @@ -8,6 +8,7 @@ package com.wentch.redkale.convert.json; import com.wentch.redkale.convert.*; import com.wentch.redkale.util.*; import java.nio.*; +import java.util.function.*; /** * @@ -30,7 +31,19 @@ public class JsonWriter implements Writer { protected boolean tiny; public static ObjectPool createPool(int max) { - return new ObjectPool<>(max, (Object... params) -> new JsonWriter(), null, (x) -> x.recycle()); + return new ObjectPool(max, new Creator() { + + @Override + public JsonWriter create(Object... params) { + return new JsonWriter(); + } + }, null, new Predicate() { + + @Override + public boolean test(JsonWriter t) { + return t.recycle(); + } + }); } public JsonWriter() {