[ 
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]

Reply via email to