From 419e1f52ad45a8d291b8fc9a5bd22ae92140228d Mon Sep 17 00:00:00 2001 From: anthony Date: Tue, 21 Dec 2010 11:06:38 -0800 Subject: [PATCH] patch for Connection --- .../com/xensource/xenapi/Connection.java | 23 ++++++++++++------ deps/XenServerJava/xenserver-5.6.0-1.jar | Bin 403281 -> 403459 bytes 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/deps/XenServerJava/com/xensource/xenapi/Connection.java b/deps/XenServerJava/com/xensource/xenapi/Connection.java index 973b89b653d..711abc91deb 100644 --- a/deps/XenServerJava/com/xensource/xenapi/Connection.java +++ b/deps/XenServerJava/com/xensource/xenapi/Connection.java @@ -42,7 +42,7 @@ import org.apache.xmlrpc.client.XmlRpcClient; import org.apache.xmlrpc.client.XmlRpcClientConfig; import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; import org.apache.xmlrpc.client.XmlRpcHttpClientConfig; - +import org.apache.xmlrpc.client.XmlRpcCommonsTransportFactory; import com.xensource.xenapi.Types.BadServerResponse; import com.xensource.xenapi.Types.SessionAuthenticationFailed; import com.xensource.xenapi.Types.XenAPIException; @@ -68,6 +68,7 @@ public class Connection public Boolean rioConnection = false; private APIVersion apiVersion; + protected int _wait; /** * Updated when Session.login_with_password() is called. @@ -85,7 +86,7 @@ public class Connection /** * As seen by the xmlrpc library. From our point of view it's a server. */ - private final XmlRpcClient client; + protected XmlRpcClient client; private final boolean deprecatedConstructorUsed; @@ -163,10 +164,11 @@ public class Connection * When this constructor is used, a call to dispose() will do nothing. The programmer is responsible for manually * logging out the Session. */ - public Connection(URL url) + public Connection(URL url, int wait) { deprecatedConstructorUsed = false; - + _wait = wait; + this.client = getClientFromURL(url); } @@ -179,10 +181,11 @@ public class Connection * Connection object does not call Session.logout. The programmer is responsible for ensuring the Session is logged * in and out correctly. */ - public Connection(URL url, String sessionReference) + public Connection(URL url, String sessionReference, int wait) { deprecatedConstructorUsed = false; + this._wait = wait; this.client = getClientFromURL(url); this.sessionReference = sessionReference; } @@ -274,12 +277,15 @@ public class Connection { return config; } - private XmlRpcClient getClientFromURL(URL url) + protected XmlRpcClient getClientFromURL(URL url) { config.setTimeZone(TimeZone.getTimeZone("UTC")); config.setServerURL(url); + config.setReplyTimeout(_wait * 1000); + config.setConnectionTimeout(_wait / 10 * 1000); XmlRpcClient client = new XmlRpcClient(); client.setConfig(config); + client.setTransportFactory(new XmlRpcCommonsTransportFactory(client)); return client; } @@ -297,7 +303,7 @@ public class Connection /** * The (auto-generated parts of) the bindings dispatch XMLRPC calls on this Connection's client through this method. */ - Map dispatch(String method_call, Object[] method_params) throws XmlRpcException, XenAPIException + protected Map dispatch(String method_call, Object[] method_params) throws XmlRpcException, XenAPIException { Map response = (Map) client.execute(method_call, method_params); @@ -341,7 +347,8 @@ public class Connection new Connection(new URL(client_url.getProtocol(), (String)error[1], client_url.getPort(), - client_url.getFile())); + client_url.getFile()), + _wait); tmp_conn.sessionReference = sessionReference; try { diff --git a/deps/XenServerJava/xenserver-5.6.0-1.jar b/deps/XenServerJava/xenserver-5.6.0-1.jar index 775e93a4d929c72f51a17c75949affaa6ec02d9f..b6b5e79950ac03243841b90d19107ee87c458bf3 100644 GIT binary patch delta 25850 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 gz0`;2t^-5`##{>#)IJhJjS#$sw3YXZ0&z