[ 
https://issues.apache.org/jira/browse/QPID-1350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Ross updated QPID-1350:
---------------------------

    Status: Ready To Review  (was: In Progress)

> Object dereference feature in the QMF Console API
> -------------------------------------------------
>
>                 Key: QPID-1350
>                 URL: https://issues.apache.org/jira/browse/QPID-1350
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, Python Client
>    Affects Versions: M4
>            Reporter: Ted Ross
>            Assignee: Ted Ross
>            Priority: Minor
>             Fix For: M4
>
>
> This new feature lets users of the Python QMF API easily follow references in 
> objects.
> For example:
> Start a QMF console session and connect to the broker on the local host:
> >>> s = Session()
> >>> b = s.addBroker()
> Get the first in the list of queue objects:
> >>> queue = s.getObjects(_class="queue")[0]
> Look at the queue's properties:
> >>> queue.getProperties()
> [(vhostRef, 0-0-1-0-1152921504606846979), (name, 
> 'reply-kids-pc.localdomain.19302'), (durable, False), (autoDelete, True), 
> (exclusive, True), (arguments, {})]
> Note that the vhostRef is an objectId.  Now there's a very easy way to get 
> the referenced vhost object:
> >>> vhost = queue._vhostRef_
> >>> vhost.getProperties()
> [(brokerRef, 0-0-1-0-1152921504606846978), (name, '/')]
> Note the "_" added before and after the property name.  Without the 
> underscores, the value returned will be simply the objectId.  With the 
> underscores, the reference will be followed and the referenced object 
> returned.
> Likewise, we can get the broker object:
> >>> queue._vhostRef_._brokerRef_.getProperties()
> [(systemRef, 0-0-1-0-1152921504606846977), (port, 5672), (workerThreads, 5), 
> (maxConns, 500), (connBacklog, 10), (stagingThreshold, 5000000), 
> (mgmtPubInterval, 10), (version, '0.3'), (dataDir, '/home/ross/.qpidd')]
> Or even invoke a method on the broker:
> >>> queue._vhostRef_._brokerRef_.echo(1,"text")
> OK (0) - {'body': u'text', 'sequence': 1}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to