Hi,

Today, I found a problem with defining an queue using a very specific
address in JMS API. I have a following address:

response/response_routing_key; { create: receiver, link: { name:
'response_queue', durable: false, x-declare: { auto-delete: false,
exclusive: false, arguments : { 'qpid.max_count': 1000,
'qpid.max_size': 1000000, 'qpid.policy_type': ring } } } }

This address should:
1) Create a non-durable queue named "response_queue", with
qpid.max_count=1000, qpid.max_size=1000000, qpid.policy_type=ring. The
queue should not be exclusive and should not be auto-delete
2) Bind the newly created queue to the exchange named "response" using
the key "response_routing_key"

It almost works, except the auto-delete and exclusive options being
ignored. I was trying to find out why are they getting lost and it
seems the values are properly loaded by the AddressHelper class, but
later they are overwritten in AMQSession_0_10.java on line 1342 and
1342:

1342            node.setExclusive(true);
1343            node.setAutoDelete(!node.isDurable());
(http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java?view=markup)

I do not fully understand the reason why are they being overwritten -
is this a bug or is this intentional? Unless there is some intention
behind it, I will enter an JIRA ... eventually I can also prepare a
patch removing these lines.

Regards
Jakub

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to