summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Ross <jross@apache.org>2013-06-25 19:55:23 +0000
committerJustin Ross <jross@apache.org>2013-06-25 19:55:23 +0000
commitdaa0fda2abca03a64f8110e685b6f954571db155 (patch)
tree057a25777b529ff376923bb020ccfff1914bf4c2
parent32ed52947104938555966576ae55139d3ce98c15 (diff)
downloadqpid-python-daa0fda2abca03a64f8110e685b6f954571db155.tar.gz
QPID-4811: Add control over session timeout; a patch from Ernie Allen
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1496619 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/extras/qmf/src/py/qmf/console.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/qpid/extras/qmf/src/py/qmf/console.py b/qpid/extras/qmf/src/py/qmf/console.py
index d1f04f5ba9..50a61afce0 100644
--- a/qpid/extras/qmf/src/py/qmf/console.py
+++ b/qpid/extras/qmf/src/py/qmf/console.py
@@ -641,7 +641,7 @@ class Session:
return "QMF Console Session Manager (brokers: %d)" % len(self.brokers)
- def addBroker(self, target="localhost", timeout=None, mechanisms=None, **connectArgs):
+ def addBroker(self, target="localhost", timeout=None, mechanisms=None, sessTimeout=None, **connectArgs):
""" Connect to a Qpid broker. Returns an object of type Broker.
Will raise an exception if the session is not managing the connection and
the connection setup to the broker fails.
@@ -651,7 +651,7 @@ class Session:
else:
url = BrokerURL(target)
broker = Broker(self, url.host, url.port, mechanisms, url.authName, url.authPass,
- ssl = url.scheme == URL.AMQPS, connTimeout=timeout, **connectArgs)
+ ssl = url.scheme == URL.AMQPS, connTimeout=timeout, sessTimeout=sessTimeout, **connectArgs)
self.brokers.append(broker)
return broker
@@ -2241,7 +2241,7 @@ class Broker(Thread):
self.data = data
def __init__(self, session, host, port, authMechs, authUser, authPass,
- ssl=False, connTimeout=None, **connectArgs):
+ ssl=False, connTimeout=None, sessTimeout=None, **connectArgs):
""" Create a broker proxy and setup a connection to the broker. Will raise
an exception if the connection fails and the session is not configured to
retry connection setup (manageConnections = False).
@@ -2256,8 +2256,13 @@ class Broker(Thread):
self.mechanisms = authMechs
self.ssl = ssl
if connTimeout is not None:
- connTimeout = float(connTimeout)
+ connTimeout = float(connTimeout)
self.connTimeout = connTimeout
+ if sessTimeout is not None:
+ sessTimeout = float(sessTimeout)
+ else:
+ sessTimeout = self.SYNC_TIME
+ self.sessTimeout = sessTimeout
self.authUser = authUser
self.authPass = authPass
self.saslUser = None
@@ -2467,7 +2472,7 @@ class Broker(Thread):
self.replyName = "reply-%s" % self.amqpSessionId
self.amqpSession = self.conn.session(self.amqpSessionId)
- self.amqpSession.timeout = self.SYNC_TIME
+ self.amqpSession.timeout = self.sessTimeout
self.amqpSession.auto_sync = True
self.amqpSession.queue_declare(queue=self.replyName, exclusive=True, auto_delete=True)
self.amqpSession.exchange_bind(exchange="amq.direct",