From 3df5085134f3707e452c0e0bb6dc1169eb30cc3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=9C=B0=E5=B9=B3=E7=BA=BF?= <22250530@qq.com> Date: Fri, 6 Nov 2015 13:50:56 +0800 Subject: [PATCH] --- .../wentch/redkale/convert/bson/BsonConvert.java | 16 ++++++++-------- .../wentch/redkale/convert/json/JsonConvert.java | 8 ++++---- src/com/wentch/redkale/net/Context.java | 2 +- src/com/wentch/redkale/net/PrepareRunner.java | 4 ++-- src/com/wentch/redkale/net/Transport.java | 4 +--- src/com/wentch/redkale/util/ObjectPool.java | 5 +++-- 6 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/com/wentch/redkale/convert/bson/BsonConvert.java b/src/com/wentch/redkale/convert/bson/BsonConvert.java index 11ae0cd88..e69a90034 100644 --- a/src/com/wentch/redkale/convert/bson/BsonConvert.java +++ b/src/com/wentch/redkale/convert/bson/BsonConvert.java @@ -44,7 +44,7 @@ public final class BsonConvert extends Convert { } public BsonWriter pollBsonWriter() { - return writerPool.poll().setTiny(tiny); + return writerPool.get().setTiny(tiny); } public void offerBsonWriter(BsonWriter out) { @@ -52,7 +52,7 @@ public final class BsonConvert extends Convert { } public BsonReader pollBsonReader() { - return readerPool.poll(); + return readerPool.get(); } public void offerBsonReader(BsonReader in) { @@ -66,7 +66,7 @@ public final class BsonConvert extends Convert { public T convertFrom(final Type type, final byte[] bytes, int start, int len) { if (type == null) return null; - final BsonReader in = readerPool.poll(); + final BsonReader in = readerPool.get(); in.setBytes(bytes, start, len); @SuppressWarnings("unchecked") T rs = (T) factory.loadDecoder(type).convertFrom(in); @@ -83,7 +83,7 @@ public final class BsonConvert extends Convert { public byte[] convertTo(final Type type, Object value) { if (type == null) return null; - final BsonWriter out = writerPool.poll().setTiny(tiny); + final BsonWriter out = writerPool.get().setTiny(tiny); factory.loadEncoder(type).convertTo(out, value); byte[] result = out.toArray(); writerPool.offer(out); @@ -105,7 +105,7 @@ public final class BsonConvert extends Convert { public byte[] convertTo(Object value) { if (value == null) { - final BsonWriter out = writerPool.poll().setTiny(tiny); + final BsonWriter out = writerPool.get().setTiny(tiny); out.writeNull(); byte[] result = out.toArray(); writerPool.offer(out); @@ -116,7 +116,7 @@ public final class BsonConvert extends Convert { public ByteBuffer convertToBuffer(final Type type, Object value) { if (type == null) return null; - final BsonWriter out = writerPool.poll().setTiny(tiny); + final BsonWriter out = writerPool.get().setTiny(tiny); factory.loadEncoder(type).convertTo(out, value); ByteBuffer result = out.toBuffer(); writerPool.offer(out); @@ -125,7 +125,7 @@ public final class BsonConvert extends Convert { public ByteBuffer convertToBuffer(Object value) { if (value == null) { - final BsonWriter out = writerPool.poll().setTiny(tiny); + final BsonWriter out = writerPool.get().setTiny(tiny); out.writeNull(); ByteBuffer result = out.toBuffer(); writerPool.offer(out); @@ -136,7 +136,7 @@ public final class BsonConvert extends Convert { public BsonWriter convertToWriter(final Type type, Object value) { if (type == null) return null; - final BsonWriter out = writerPool.poll().setTiny(tiny); + final BsonWriter out = writerPool.get().setTiny(tiny); factory.loadEncoder(type).convertTo(out, value); return out; } diff --git a/src/com/wentch/redkale/convert/json/JsonConvert.java b/src/com/wentch/redkale/convert/json/JsonConvert.java index 7bc3579eb..10b64d5e1 100644 --- a/src/com/wentch/redkale/convert/json/JsonConvert.java +++ b/src/com/wentch/redkale/convert/json/JsonConvert.java @@ -31,7 +31,7 @@ public final class JsonConvert extends Convert { } public JsonWriter pollJsonWriter() { - return writerPool.poll().setTiny(tiny); + return writerPool.get().setTiny(tiny); } public void offerJsonWriter(JsonWriter out) { @@ -55,7 +55,7 @@ public final class JsonConvert extends Convert { public T convertFrom(final Type type, final char[] text, int start, int len) { if (text == null || type == null) return null; - final JsonReader in = readerPool.poll(); + final JsonReader in = readerPool.get(); in.setText(text, start, len); T rs = (T) factory.loadDecoder(type).convertFrom(in); readerPool.offer(in); @@ -65,7 +65,7 @@ public final class JsonConvert extends Convert { public String convertTo(final Type type, Object value) { if (type == null) return null; if (value == null) return "null"; - final JsonWriter out = writerPool.poll().setTiny(tiny); + final JsonWriter out = writerPool.get().setTiny(tiny); factory.loadEncoder(type).convertTo(out, value); String result = out.toString(); writerPool.offer(out); @@ -102,7 +102,7 @@ public final class JsonConvert extends Convert { public byte[] convertToUTF8Bytes(final Type type, Object value) { if (type == null) return null; if (value == null) return new byte[]{110, 117, 108, 108}; - final JsonWriter out = writerPool.poll().setTiny(tiny); + final JsonWriter out = writerPool.get().setTiny(tiny); factory.loadEncoder(type).convertTo(out, value); byte[] result = out.toUTF8Bytes(); writerPool.offer(out); diff --git a/src/com/wentch/redkale/net/Context.java b/src/com/wentch/redkale/net/Context.java index 47102c289..0e2d92aea 100644 --- a/src/com/wentch/redkale/net/Context.java +++ b/src/com/wentch/redkale/net/Context.java @@ -90,7 +90,7 @@ public class Context { } public ByteBuffer pollBuffer() { - return bufferPool.poll(); + return bufferPool.get(); } public void offerBuffer(ByteBuffer buffer) { diff --git a/src/com/wentch/redkale/net/PrepareRunner.java b/src/com/wentch/redkale/net/PrepareRunner.java index f4ce0e5cf..07f5e26a3 100644 --- a/src/com/wentch/redkale/net/PrepareRunner.java +++ b/src/com/wentch/redkale/net/PrepareRunner.java @@ -34,7 +34,7 @@ public final class PrepareRunner implements Runnable { final PrepareServlet prepare = context.prepare; final ObjectPool responsePool = context.responsePool; if (data != null) { - final Response response = responsePool.poll(); + final Response response = responsePool.get(); response.init(channel); try { prepare.prepare(data, response.request, response); @@ -65,7 +65,7 @@ public final class PrepareRunner implements Runnable { // System.println(new String(bs)); // } buffer.flip(); - final Response response = responsePool.poll(); + final Response response = responsePool.get(); response.init(channel); try { prepare.prepare(buffer, response.request, response); diff --git a/src/com/wentch/redkale/net/Transport.java b/src/com/wentch/redkale/net/Transport.java index 372f3e4ab..58c776aef 100644 --- a/src/com/wentch/redkale/net/Transport.java +++ b/src/com/wentch/redkale/net/Transport.java @@ -112,7 +112,7 @@ public final class Transport { } public ByteBuffer pollBuffer() { - return bufferPool.poll(); + return bufferPool.get(); } public void offerBuffer(ByteBuffer buffer) { @@ -131,7 +131,6 @@ public final class Transport { final boolean rand = addr == null; try { if ("TCP".equalsIgnoreCase(protocol)) { - Socket socket = null; AsynchronousSocketChannel channel = null; if (rand) { //随机取地址 int p = 0; @@ -154,7 +153,6 @@ public final class Transport { iex.printStackTrace(); if (i == remoteAddres.length - 1) { p = 0; - socket = null; channel = null; } } diff --git a/src/com/wentch/redkale/util/ObjectPool.java b/src/com/wentch/redkale/util/ObjectPool.java index ca96ac026..6efae846d 100644 --- a/src/com/wentch/redkale/util/ObjectPool.java +++ b/src/com/wentch/redkale/util/ObjectPool.java @@ -15,7 +15,7 @@ import java.util.logging.*; * @author zhangjx * @param */ -public final class ObjectPool { +public final class ObjectPool implements Supplier { private static final Logger logger = Logger.getLogger(ObjectPool.class.getSimpleName()); @@ -63,7 +63,8 @@ public final class ObjectPool { this.creator = creator; } - public T poll() { + @Override + public T get() { T result = queue.poll(); if (result == null) { if (creatCounter != null) creatCounter.incrementAndGet();