diff --git a/src/org/redkale/convert/bson/BsonConvert.java b/src/org/redkale/convert/bson/BsonConvert.java index ceb02abfb..649dec0b9 100644 --- a/src/org/redkale/convert/bson/BsonConvert.java +++ b/src/org/redkale/convert/bson/BsonConvert.java @@ -73,7 +73,7 @@ public final class BsonConvert extends BinaryConvert { } public void offerBsonReader(final BsonReader in) { - if (in != null) readerPool.offer(in); + if (in != null) readerPool.accept(in); } //------------------------------ writer ----------------------------------------------------------- @@ -90,7 +90,7 @@ public final class BsonConvert extends BinaryConvert { } public void offerBsonWriter(final BsonWriter out) { - if (out != null) writerPool.offer(out); + if (out != null) writerPool.accept(out); } //------------------------------ convertFrom ----------------------------------------------------------- @@ -106,7 +106,7 @@ public final class BsonConvert extends BinaryConvert { in.setBytes(bytes, start, len); @SuppressWarnings("unchecked") T rs = (T) factory.loadDecoder(type).convertFrom(in); - readerPool.offer(in); + readerPool.accept(in); return rs; } @@ -145,7 +145,7 @@ public final class BsonConvert extends BinaryConvert { final BsonWriter out = writerPool.get().tiny(tiny); out.writeNull(); byte[] result = out.toArray(); - writerPool.offer(out); + writerPool.accept(out); return result; } return convertTo(value.getClass(), value); @@ -157,7 +157,7 @@ public final class BsonConvert extends BinaryConvert { final BsonWriter out = writerPool.get().tiny(tiny); factory.loadEncoder(type).convertTo(out, value); byte[] result = out.toArray(); - writerPool.offer(out); + writerPool.accept(out); return result; } @@ -167,7 +167,7 @@ public final class BsonConvert extends BinaryConvert { final BsonWriter out = writerPool.get().tiny(tiny); ((AnyEncoder) factory.getAnyEncoder()).convertMapTo(out, values); byte[] result = out.toArray(); - writerPool.offer(out); + writerPool.accept(out); return result; } diff --git a/src/org/redkale/convert/json/JsonConvert.java b/src/org/redkale/convert/json/JsonConvert.java index 1498adff1..03f51e0ef 100644 --- a/src/org/redkale/convert/json/JsonConvert.java +++ b/src/org/redkale/convert/json/JsonConvert.java @@ -60,7 +60,7 @@ public final class JsonConvert extends TextConvert { } public void offerJsonReader(final JsonReader in) { - if (in != null) readerPool.offer(in); + if (in != null) readerPool.accept(in); } //------------------------------ writer ----------------------------------------------------------- @@ -81,7 +81,7 @@ public final class JsonConvert extends TextConvert { } public void offerJsonWriter(final JsonWriter out) { - if (out != null) writerPool.offer(out); + if (out != null) writerPool.accept(out); } //------------------------------ convertFrom ----------------------------------------------------------- @@ -100,7 +100,7 @@ public final class JsonConvert extends TextConvert { final JsonReader in = readerPool.get(); in.setText(text, start, len); T rs = (T) factory.loadDecoder(type).convertFrom(in); - readerPool.offer(in); + readerPool.accept(in); return rs; } @@ -142,7 +142,7 @@ public final class JsonConvert extends TextConvert { final JsonWriter out = writerPool.get().tiny(tiny); factory.loadEncoder(type).convertTo(out, value); String result = out.toString(); - writerPool.offer(out); + writerPool.accept(out); return result; } @@ -152,7 +152,7 @@ public final class JsonConvert extends TextConvert { final JsonWriter out = writerPool.get().tiny(tiny); ((AnyEncoder) factory.getAnyEncoder()).convertMapTo(out, values); String result = out.toString(); - writerPool.offer(out); + writerPool.accept(out); return result; } diff --git a/src/org/redkale/net/Context.java b/src/org/redkale/net/Context.java index 86828c956..a62c65e90 100644 --- a/src/org/redkale/net/Context.java +++ b/src/org/redkale/net/Context.java @@ -130,13 +130,13 @@ public class Context { } public void offerBuffer(ByteBuffer buffer) { - bufferPool.offer(buffer); + bufferPool.accept(buffer); } public void offerBuffer(ByteBuffer... buffers) { if (buffers == null) return; for (ByteBuffer buffer : buffers) { - bufferPool.offer(buffer); + bufferPool.accept(buffer); } } diff --git a/src/org/redkale/net/Response.java b/src/org/redkale/net/Response.java index 2c84b59b4..0ff5c26ba 100644 --- a/src/org/redkale/net/Response.java +++ b/src/org/redkale/net/Response.java @@ -195,7 +195,7 @@ public abstract class Response> { if (!this.inited) return; //避免重复关闭 //System.println("耗时: " + (System.currentTimeMillis() - request.createtime)); if (kill) refuseAlive(); - this.context.responsePool.offer(this); + this.context.responsePool.accept(this); } public void finish(final byte[] bs) { diff --git a/src/org/redkale/net/Transport.java b/src/org/redkale/net/Transport.java index 8d040eb42..e8c96b201 100644 --- a/src/org/redkale/net/Transport.java +++ b/src/org/redkale/net/Transport.java @@ -178,7 +178,7 @@ public final class Transport { } public void offerBuffer(ByteBuffer buffer) { - bufferPool.offer(buffer); + bufferPool.accept(buffer); } public void offerBuffer(ByteBuffer... buffers) { diff --git a/src/org/redkale/net/TransportFactory.java b/src/org/redkale/net/TransportFactory.java index 488420763..0eb9667fd 100644 --- a/src/org/redkale/net/TransportFactory.java +++ b/src/org/redkale/net/TransportFactory.java @@ -308,7 +308,7 @@ public class TransportFactory { @Override public void completed(Integer result, ByteBuffer attachment) { if (counter > 3) { - bufferPool.offer(attachment); + bufferPool.accept(attachment); localconn.dispose(); return; } @@ -317,7 +317,7 @@ public class TransportFactory { localconn.read(pongBuffer, pongBuffer, this); return; } - bufferPool.offer(attachment); + bufferPool.accept(attachment); localqueue.offer(localconn); } diff --git a/src/org/redkale/util/ObjectPool.java b/src/org/redkale/util/ObjectPool.java index 486f37c7c..11d3c0a34 100644 --- a/src/org/redkale/util/ObjectPool.java +++ b/src/org/redkale/util/ObjectPool.java @@ -19,7 +19,7 @@ import java.util.logging.*; * @author zhangjx * @param 对象池元素的数据类型 */ -public final class ObjectPool implements Supplier { +public final class ObjectPool implements Supplier, Consumer { private static final Logger logger = Logger.getLogger(ObjectPool.class.getSimpleName()); @@ -78,21 +78,27 @@ public final class ObjectPool implements Supplier { return result; } - public void offer(final T e) { + @Override + public void accept(final T e) { if (e != null && recycler.test(e)) { if (cycleCounter != null) cycleCounter.incrementAndGet(); - if (debug) { - for (T t : queue) { - if (t == e) { - logger.log(Level.WARNING, "[" + Thread.currentThread().getName() + "] repeat offer the same object(" + e + ")", new Exception()); - return; - } - } - } +// if (debug) { +// for (T t : queue) { +// if (t == e) { +// logger.log(Level.WARNING, "[" + Thread.currentThread().getName() + "] repeat offer the same object(" + e + ")", new Exception()); +// return; +// } +// } +// } queue.offer(e); } } + @Deprecated + public void offer(final T e) { + accept(e); + } + public long getCreatCount() { return creatCounter.longValue(); }