diff options
| author | Ted Ross <tross@apache.org> | 2009-07-17 19:54:09 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2009-07-17 19:54:09 +0000 |
| commit | 5f3c95bd7845f9f583d3cab616e757deff03509c (patch) | |
| tree | db345be0ca253ce876b6f89ab6d54af3cd4c3196 | |
| parent | f8270eed56acb48d362ec0d3bab1fb89d1c568c9 (diff) | |
| download | qpid-python-5f3c95bd7845f9f583d3cab616e757deff03509c.tar.gz | |
QPID-1973 - Calling session.objects fails to return objects in certain cases
There is a window during which object queries fail because the console does not have
up-to-date agent information. This fix closes the window completely. I would like to
find a more elegant and efficient solution to this problem, but this will work for now.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@795209 13f79535-47bb-0310-9956-ffa450edef68
| -rw-r--r-- | python/qmf/console.py | 6 | ||||
| -rw-r--r-- | ruby/lib/qpid/qmf.rb | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/python/qmf/console.py b/python/qmf/console.py index c3ef0a1a50..315d581fc6 100644 --- a/python/qmf/console.py +++ b/python/qmf/console.py @@ -609,6 +609,12 @@ class Session: brokerList = self.brokers for broker in brokerList: broker._waitForStable() + if broker.isConnected(): + if "_package" not in kwargs or "_class" not in kwargs or \ + kwargs["_package"] != "org.apache.qpid.broker" or \ + kwargs["_class"] != "agent": + self.getObjects(_package = "org.apache.qpid.broker", _class = "agent", + _agent = broker.getAgent(1,0)) agentList = [] if "_agent" in kwargs: diff --git a/ruby/lib/qpid/qmf.rb b/ruby/lib/qpid/qmf.rb index b9961c9a18..1107f4384e 100644 --- a/ruby/lib/qpid/qmf.rb +++ b/ruby/lib/qpid/qmf.rb @@ -333,7 +333,12 @@ module Qpid::Qmf else broker_list = @brokers end - broker_list.each { |broker| broker.wait_for_stable } + broker_list.each { |broker| + broker.wait_for_stable + if kwargs[:package] != "org.apache.qpid.broker" or kwargs[:class] != "agent" + objects(:agent => broker.agent(1,0), :package => "org.apache.qpid.broker", :class => "agent") if broker.connected? + end + } agent_list = [] if kwargs.include?(:agent) |
