From 6ef2441ff9ec3ccd389e32c975b173f1dc49a865 Mon Sep 17 00:00:00 2001 From: "Chen, YinChin | Angus | ISDOD" Date: Fri, 11 Nov 2016 16:26:49 +0900 Subject: [PATCH 1/2] add timeout when get connection --- .../com/rakuten/rit/roma/romac4j/connection/Connection.java | 4 ++-- .../rakuten/rit/roma/romac4j/connection/RomaSocketPool.java | 2 +- .../rit/roma/romac4j/connection/SocketPoolFactory.java | 6 ++++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/Connection.java b/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/Connection.java index 24738f2..73009dc 100644 --- a/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/Connection.java +++ b/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/Connection.java @@ -24,8 +24,8 @@ public Connection(String nid, int bufferSize) { } @Override - public void connect(SocketAddress endpoint) throws IOException { - super.connect(endpoint); + public void connect(SocketAddress endpoint, int timeout) throws IOException { + super.connect(endpoint, timeout); is = new BufferedInputStream(getInputStream()); os = new BufferedOutputStream(getOutputStream()); } diff --git a/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/RomaSocketPool.java b/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/RomaSocketPool.java index 7a96504..11a8192 100644 --- a/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/RomaSocketPool.java +++ b/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/RomaSocketPool.java @@ -53,7 +53,7 @@ public synchronized Connection getConnection(String nodeId) throws Exception { GenericObjectPool pool = poolMap.get(nodeId); if (pool == null) { PoolableObjectFactory factory = - new SocketPoolFactory(nodeId, bufferSize); + new SocketPoolFactory(nodeId, bufferSize, timeout); pool = new GenericObjectPool(factory); pool.setMaxActive(maxActive); pool.setMaxIdle(maxIdle); diff --git a/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/SocketPoolFactory.java b/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/SocketPoolFactory.java index 3b99170..d21840f 100644 --- a/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/SocketPoolFactory.java +++ b/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/SocketPoolFactory.java @@ -8,16 +8,18 @@ public class SocketPoolFactory implements PoolableObjectFactory { private String nodeId; private int bufferSize; + private int timeout; - public SocketPoolFactory(String nid, int bufferSize) { + public SocketPoolFactory(String nid, int bufferSize, int timeout) { this.nodeId = nid; this.bufferSize = bufferSize; + this.timeout = timeout; } public Connection makeObject() throws IOException { Connection con = new Connection(nodeId, bufferSize); String[] host = nodeId.split("_"); - con.connect(new InetSocketAddress(host[0], Integer.valueOf(host[1]))); + con.connect(new InetSocketAddress(host[0], Integer.valueOf(host[1])), timeout); return con; } From c01fde15d14b14a14ae1b9649180b80fae096951 Mon Sep 17 00:00:00 2001 From: "Chen, YinChin | Angus | ISDOD" Date: Mon, 14 Nov 2016 09:36:48 +0900 Subject: [PATCH 2/2] add default timeout value and keep public SocketPoolFactory(String nid, int bufferSize) --- .../rit/roma/romac4j/connection/SocketPoolFactory.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/SocketPoolFactory.java b/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/SocketPoolFactory.java index d21840f..d123d62 100644 --- a/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/SocketPoolFactory.java +++ b/romac4j/src/main/java/com/rakuten/rit/roma/romac4j/connection/SocketPoolFactory.java @@ -8,7 +8,12 @@ public class SocketPoolFactory implements PoolableObjectFactory { private String nodeId; private int bufferSize; - private int timeout; + private int timeout = 1000; + + public SocketPoolFactory(String nid, int bufferSize) { + this.nodeId = nid; + this.bufferSize = bufferSize; + } public SocketPoolFactory(String nid, int bufferSize, int timeout) { this.nodeId = nid;