Return-Path: Delivered-To: apmail-geronimo-activemq-dev-archive@www.apache.org Received: (qmail 38417 invoked from network); 27 Oct 2006 17:26:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 27 Oct 2006 17:26:08 -0000 Received: (qmail 7880 invoked by uid 500); 27 Oct 2006 17:26:18 -0000 Delivered-To: apmail-geronimo-activemq-dev-archive@geronimo.apache.org Received: (qmail 7862 invoked by uid 500); 27 Oct 2006 17:26:18 -0000 Mailing-List: contact activemq-dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: activemq-dev@geronimo.apache.org Delivered-To: mailing list activemq-dev@geronimo.apache.org Received: (qmail 7835 invoked by uid 99); 27 Oct 2006 17:26:18 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Oct 2006 10:26:18 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Oct 2006 10:26:05 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 9D3F77142CE for ; Fri, 27 Oct 2006 10:25:02 -0700 (PDT) Message-ID: <10914496.1161969902640.JavaMail.root@brutus> Date: Fri, 27 Oct 2006 10:25:02 -0700 (PDT) From: "james strachan (JIRA)" To: activemq-dev@geronimo.apache.org Subject: [jira] Resolved: (AMQ-999) Message dispatcher issues (use dedicated dispatching thread for each session) In-Reply-To: <29319578.1161684962504.JavaMail.root@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/activemq/browse/AMQ-999?page=all ] james strachan resolved AMQ-999. -------------------------------- Fix Version/s: 4.1 Resolution: Fixed Patches applied with thanks Rob! I made a minor change to the patch so that the code still works on Mono 1.0; I used the class AutoResetEvent instead of EventWaitHandle to avoid compile errors in Dispatcher.cs and DispatchingThead.cs - see the TODO notes in those files in case you can think of a cleaner solution. Cheers! > Message dispatcher issues (use dedicated dispatching thread for each session) > ----------------------------------------------------------------------------- > > Key: AMQ-999 > URL: https://issues.apache.org/activemq/browse/AMQ-999 > Project: ActiveMQ > Issue Type: Improvement > Components: NMS (C# client) > Affects Versions: 4.0.2 > Environment: Windows > Reporter: Rob Lugt > Assigned To: james strachan > Fix For: 4.1 > > Attachments: amq999-patch.txt, AtomicBoolean.cs, DispatchingThread.cs > > > There are a number of issues with the dispatching of inbound messages. > - A slow consumer will potentially use and block all ThreadPool threads > - Use of a ThreadPool thread to dispatch a single message is inefficient due to context switching > - No mechanism to suspend asynchronous delivery to a session (i.e. Connection.Stop() is currently a no-op) > - Retroactive consumer is currently broken because retoractive messages are delivered before the listener delegate is assigned. > - [minor] Application cannot predict which thread messages will be dispatched on > All of these problems can simply be resolved by creating a dedicated dispatcher thread for a session -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira