[ 
https://issues.apache.org/jira/browse/QPID-3720?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robbie Gemmell resolved QPID-3720.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 0.15

Closing out
                
> [Java Broker] Implement Message Grouping
> ----------------------------------------
>
>                 Key: QPID-3720
>                 URL: https://issues.apache.org/jira/browse/QPID-3720
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker
>            Reporter: Rob Godfrey
>            Assignee: Robbie Gemmell
>             Fix For: 0.15
>
>   Original Estimate: 6h
>          Time Spent: 6h
>  Remaining Estimate: 0h
>
> Implement message grouping on the Java Broker (similar in style to that 
> implemented in the C++ broker in QPID-3346)
> The Java Broker supports two implementations of message grouping; an 
> implementation with the same semantics as defined by the C++ broker, and an 
> alternative implementation.
> In contrast to the C++ implementation the alternative implementation has the 
> following properties:
> 1) Once a group has been assigned to a subscription, assign all further 
> messages from the same group to the same group (whether or not all prior 
> messages in the group have been acknowledged)
> 2) The absence of a value in the designated header field for grouping as 
> treated as indicative of a lack of desire for the message to be grouped.  
> Messages with such a lack of a value will be distributed to any available 
> consumer.
> Note that in general 1) is stricter than the condition that is enforced by 
> the C++ broker - however in the case where a client cancels a subscription 
> without first releasing/acknowledging all outstanding messages that have been 
> delivered then you can get "out of order".
> In general the Java implementation is more liberal than the C++ 
> implementation in that for both strategies available in the Java Broker in 
> that
> a) Message grouping is allowed on priority queues, Conflation Queues (and 
> Sorted Queues).  (However it has no effect on browsers... which means if you 
> using a ConflationQueue as an LVQ by browsing it you cannot use groups).
> b) The broker allows for non string values for the group header
> In order to choose the alternative strategy (rather than the C++ style 
> grouping semantics) the qpid.shared_msg_group argument should not be set on 
> queue construction (whether grouping is enforced or not depends on whether 
> the qpid.group_header_key argument is non-null), if qpid.shared_msg_group is 
> set to "1" the C++ style grouping is used, otherwise the alternative 
> implementation is used.

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