Hi Ken,
I guess the bit that you are alluding to below is:

      ##
      ## Check to see if the broker has QMFv2 exchanges configured
      ##
      direct_result = self.amqpSession.exchange_query("qmf.default.direct")
      topic_result = self.amqpSession.exchange_query("qmf.default.topic")
self.brokerSupportsV2 = not (direct_result.not_found or topic_result.not_found)

I'm guessing that self.amqpSession.exchange_query relates to some AMQP 0.10 specific code similar to queue_declare/exchange_declare etc. I'm not wildly familiar with those constructs as I've tried to stick to the qpid::messaging and JMS APIs wherever I can, the stuff above appears to be somewhat similar to things I've seen in qpid::client, though I've generally avoided that like the plague.

I guess querying for the presence of the QMF2 exchanges in this way avoids the conundrum of which QMF version to use to query for the presence of the exchanges :-)

But OTOH am I correct that the constructs above relate to the pure python implementation of AMQP 0.10? I suppose one thing to consider is that there's now also an alternative python API/implementation based on SWIG bindings to qpid::messaging and (I guess) the "low level" AMQP 0.10 constructs being used in console.py aren't available in the new/alternative python API.

I guess following on from my usual broken record about cohesion and communication it might be good if we can come out with a statement of direction/roadmap with respect to some APIs. Given that proton/AMQP 1.0 is starting to take off and as discussed in other threads qpid::messaging is here to stay and given some comments from Gordon that it's likely that a pure python AMQP 1.0 is likely to be down the priority list given the SWIG binding to qpid::messaging is it time to start calling time on the current pure python AMQP 0.10. If not exactly deprecate it yet then at least suggest the likely trajectory with some putative dates.

I certainly wouldn't want to panic anyone!!!!!, this is purely my own take, but I think without a few lines in the sand being drawn, even if they are initially sketchy we really run the risk of confusing users as the journey towards AMQP 1.0 progresses.

Is this worth discussing, or is everyone content with the status quo position?

As a related aside ISTR one of my colleagues mention a memory leak with the qpid::messaging python binding. I don't really use python in anger myself so it's a bit third hand, is this something you are aware of? I know that there were issues with perl that have recently been fixed, but the comment made to me was about python. I'd definitely be interested to know.

Frase.

On 02/04/13 22:22, Ken Giusti wrote:
When console.py connects to a broker (via addBroker), it will attempt to query 
for the existence of the qmf.default.direct and qmf.default.topic exchanges.  
If that query succeeds, the console marks that broker as being V2 capable, and 
uses V2.  Otherwise it falls back to V1.

Take a look at the Broker::_tryToConnect() method in console.py for all the 
gory details.

-K


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to