[
https://issues.apache.org/jira/browse/QPID-3519?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex Rudyy updated QPID-3519:
-----------------------------
Description:
In current implementation the FieldTable with JMS selector is created in
AMQSession#createConsumerImpl.
The 0-8 MessageConsumer code creates a new FieldTable objects when sending its
BasicConsime method.
The 0-10 AMQSession code does send an arguments map sourced from the consumer
when doing the 'sendConsume' method.
Also, both clients send FieldTable with the selector argument they do it using
different FieldTable objects.
This needs to be improved to allow both clients to reuse the same code.
was:It appears that the client only sends the selector argument when binding
queues during consumer creation, meaning only the topic exchange will do any
server-side selector filtering (the other exchanges dont have such
functionality). The subscription based selector argument is not sent, meaning
the behaviour when using queues not bound to the topic exchange with regular
consumers will result in the 0-10 client receiving all messages and then having
to release and not acquire the ones it doesnt want (relating to QPID-2848,
where it is seen such functionality is currently broken). The client should
send the selector argument at subscription time also, to prevent it being sent
messages it doesnt want by brokers which support server-side selectors.
Fix Version/s: (was: 0.13)
0.14
Summary: Refactor the logic behind sending of the selector arguments
during subscription creation (was: the 0-10 client does not send the selector
argument during subscription creation)
> Refactor the logic behind sending of the selector arguments during
> subscription creation
> ----------------------------------------------------------------------------------------
>
> Key: QPID-3519
> URL: https://issues.apache.org/jira/browse/QPID-3519
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Reporter: Robbie Gemmell
> Assignee: Alex Rudyy
> Fix For: 0.14
>
> Attachments: 0001-QPID-3519-refactor-consumer-argument-handling.patch
>
>
> In current implementation the FieldTable with JMS selector is created in
> AMQSession#createConsumerImpl.
> The 0-8 MessageConsumer code creates a new FieldTable objects when sending
> its BasicConsime method.
> The 0-10 AMQSession code does send an arguments map sourced from the consumer
> when doing the 'sendConsume' method.
> Also, both clients send FieldTable with the selector argument they do it
> using different FieldTable objects.
> This needs to be improved to allow both clients to reuse the same code.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]