Return-Path: X-Original-To: apmail-activemq-users-archive@www.apache.org Delivered-To: apmail-activemq-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D258C6423 for ; Sat, 2 Jul 2011 12:55:03 +0000 (UTC) Received: (qmail 22210 invoked by uid 500); 2 Jul 2011 12:55:02 -0000 Delivered-To: apmail-activemq-users-archive@activemq.apache.org Received: (qmail 22192 invoked by uid 500); 2 Jul 2011 12:55:02 -0000 Mailing-List: contact users-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@activemq.apache.org Delivered-To: mailing list users@activemq.apache.org Received: (qmail 22183 invoked by uid 99); 2 Jul 2011 12:55:01 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Jul 2011 12:55:01 +0000 X-ASF-Spam-Status: No, hits=0.0 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of martinc@gmx.at designates 213.165.64.23 as permitted sender) Received: from [213.165.64.23] (HELO mailout-de.gmx.net) (213.165.64.23) by apache.org (qpsmtpd/0.29) with SMTP; Sat, 02 Jul 2011 12:54:54 +0000 Received: (qmail invoked by alias); 02 Jul 2011 12:54:32 -0000 Received: from mail-pz0-f43.google.com (EHLO mail-pz0-f43.google.com) [209.85.210.43] by mail.gmx.net (mp059) with SMTP; 02 Jul 2011 14:54:32 +0200 X-Authenticated: #423381 X-Provags-ID: V01U2FsdGVkX18HCEcQh+YHMCRd1lrpZ/3Gahb2M+zhINsnGwpfc7 d2SPSIGuRlQe3g Received: by pzk1 with SMTP id 1so4233098pzk.2 for ; Sat, 02 Jul 2011 05:54:21 -0700 (PDT) Received: by 10.142.150.27 with SMTP id x27mr1940582wfd.72.1309611261112; Sat, 02 Jul 2011 05:54:21 -0700 (PDT) MIME-Version: 1.0 Received: by 10.143.61.7 with HTTP; Sat, 2 Jul 2011 05:54:01 -0700 (PDT) In-Reply-To: References: <1309494093071-3637432.post@n4.nabble.com> From: "Martin C." Date: Sat, 2 Jul 2011 14:54:01 +0200 Message-ID: Subject: Re: Fwd: Message groups enhancement feature request To: users@activemq.apache.org Content-Type: text/plain; charset=ISO-8859-1 X-Y-GMX-Trusted: 0 Hi, > So it sounds like the current Message Groups behaviour is fine; its > just you want to ensure fair load balancing of the message groups > across consumers right? So if lots of other clients are restarted; the > long running clients could end up claiming too many of the message > groups? Yes, you absolutely got it right. The current behavior is absolutely correct and well-defined and within the specs of JMS as far as I know it. That's why I call my idea an "enhancement", because I think it could aid i some situations to provide better scalability. > I wonder if just recycling consumers every now and again would do the > trick? i.e. a pure client side thing to terminate a consumer every now > and again to force rebalancing of message groups? This is a very valid approach and one I am currently implementing for the Spring MessageListenerContainer setup we have. But it has some side-effects: this generates advisory messages which will be distributed throughout the network of brokers, if dynamicallyIncludedDestinations are involved and in huge network-of-brokers, those advisories (in our case) can make up most of the WAN network traffic. That's why I want to keep them down. I am not sure if it can be handled by the MessageConsumer alone or if a feature like this would be better implemented on the broker side, but my "dream" solution would be session.createConsumer("queue.foo?releaseMessageGroupsAfter=1") telling the broker that he can freely re-distribute the message group like seems best after the current message has been ACKed. Thanks for any input. Best regards, Martin