[rabbitmq-discuss] RabbitMQ Erlang API questions

Lev Walkin vlm at lionet.info
Wed Apr 8 18:55:06 BST 2009

Matthias Radestock wrote:
> Lev,
> Lev Walkin wrote:
>> I've started using Erlang native API to RabbitMQ recently (cloned out 
>> of v1_5 branch) and found a couple of issues I'd like someone "in the 
>> know" to clarify:
>> 1. lib_amqp:close_channel(lib_amqp:start_channel()) leaks processes:
> That looks like a bug. Do you get the same results against the default 
> branch (of the erlang-client and rabbitmq-server)?

Have not tried the default branch.

>> 2. One can not create a durable exclusive queue, that is, the 
>> following call does not result in a queue that persists between server 
>> app reloads. The queue _is_ created, but is not there after server 
>> restart.
>>          lib_amqp:declare_queue(Channel, #'queue.declare'{
>>                  queue = Q,
>>                  passive = false,
>>                  durable = true,        % NOTE
>>                  exclusive = true,    % NOTE
>>                  auto_delete = false,
>>                  nowait = false,
>>                  arguments = []
>>          }).
> I believe the problem here is that you set exclusive=true which ties the 
> lifetime of the queue to that of the connection which created it.

According to my understanding, exclusive provides access exclusivity 
(noone can get to this queue unless the exclusive accessor finishes). 
The lifetime tie is provided by auto_delete, which is set to false in 
this case.

Do you have a reference to an appropriate AMQP standard clause which 
says that my understanding is incorrect?

Lev Walkin
vlm at lionet.info

More information about the rabbitmq-discuss mailing list