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