diff options
| author | Justin Ross <jross@apache.org> | 2013-06-25 19:55:23 +0000 |
|---|---|---|
| committer | Justin Ross <jross@apache.org> | 2013-06-25 19:55:23 +0000 |
| commit | daa0fda2abca03a64f8110e685b6f954571db155 (patch) | |
| tree | 057a25777b529ff376923bb020ccfff1914bf4c2 | |
| parent | 32ed52947104938555966576ae55139d3ce98c15 (diff) | |
| download | qpid-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.py | 15 |
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", |
