[openamq-dev] Basic questions about OpenAMQ

Pieter Hintjens ph at imatix.com
Wed Jan 23 11:04:38 CET 2008


On Jan 22, 2008 6:34 PM, Terry Jones <terry at jon.es> wrote:

> - Firstly, this mailing list is rather quiet.  Does that mean there's not
>   much work going on on OpenAMQ, that the developers are all physically
>   together and don't use the mailing list much for everyday discussion, or
>   something else?  Note: I have no idea. I'm not trying to get myself
>   flamed :-)  Just wondering.

OpenAMQ is in stable shape and this list is used mostly for technical
user discussions.  I'd like to see more bug reports and such but the
software seems utterly solid.

> - Is queue creation a cheap operation, in terms of speed and/or space? Is
>   OpenAMQ going to have a problem creating 1000 queues? What about 100K?  I
>   know this depends partly on the underlying machine, so for the sake of
>   argument assume I have a standard Linux box with 4GB of RAM.

Cheap, yes.  Usually you don't need to create 100k queues, since it's
better to have one queue per consuming client, and multiple bindings
that deliver messages to that one queue.  Faster, and easier.  However
you can create many queues, limited only by memory.

> - Can a client find out how many other clients are listening on a queue?

No.  A client can request exclusive access to a queue and break off if
it does not get it.  But in general it's better design if clients are
not aware of each other, and AMQP implements this.

> - Can a client tell if a queue exists (other than by attempting to consume
>   from it)?

Yes, there is a 'passive' option in the queue.declare method that does
not create the queue, only checks to see if it exists.  Note that it's
like an assertion; if the queue does not exist, the connection is
ended with a 404 error.  AMQP likes brutal and unambiguous error
handling. :-)

> - We wrote some sample Python code to talk to a qpid server and then
>   adapted it to OpenAMQ. The qpid code used channels. The code continued to
>   work when talking to OpenAMQ. Given that OpenAMQ doesn't support
>   channels, does that mean that OpenAMQ simply ignores the channel? This
>   seems like an obvious "yes", but I wanted to ask.

OpenAMQ supports a single channel, but not multiple channels (for the
simple reason that the support was fairly complex and we found that
no-one was using it.  We like to rip out complex and unused code...)

Thanks for the questions.

-Pieter


More information about the openamq-dev mailing list