summaryrefslogtreecommitdiff
path: root/same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java
diff options
context:
space:
mode:
authorKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-01-17 18:18:46 +0100
committerKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-01-17 18:18:46 +0100
commitee986f93216e63460a6aaba1cb7d2f451401a23a (patch)
tree075f06440ad466ce1c26a549d3e0e27edc3661f7 /same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java
parenta2f0a58484bdfc22a8af7b16df051c1e611fc83d (diff)
Add timeout to network operations.
Diffstat (limited to 'same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java')
-rw-r--r--same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java b/same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java
index 0a1e54f..f74bca7 100644
--- a/same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java
+++ b/same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java
@@ -8,16 +8,26 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ConnectionManagerImpl implements ConnectionManager {
-
+ private int connectionTimeout;
+ private int readTimeout;
+
private Logger logger = LoggerFactory.getLogger(getClass());
- public ConnectionManagerImpl() {
+ /**
+ * @param connectionTimout Timeout for establishing connection in milliseconds.
+ * @param readTimeout Timeout for waiting for answer in milliseconds.
+ */
+ public ConnectionManagerImpl(int connectionTimout, int readTimeout) {
+ this.connectionTimeout = connectionTimout;
+ this.readTimeout = readTimeout;
}
private <T>T getClassProxy(String url, Class<T> clazz) {
T service = null;
try {
JsonRpcHttpClient client = new JsonRpcHttpClient(new URL(url));
+ client.setConnectionTimeoutMillis(connectionTimeout);
+ client.setReadTimeoutMillis(readTimeout);
service = ProxyUtil.createProxy(
this.getClass().getClassLoader(),
clazz,