[ https://issues.apache.org/activemq/browse/AMQ-999?page=comments#action_37348 ] Stuart Bain commented on AMQ-999: ---------------------------------
DispatcherThread.cs also needs to be added to vs2005-activemq-cf20.csproj Addition of the Close method to the ISession, IConnection, and IMessageConsumer interfaces in this patch breaks the corresponding MSMQ Session, Connection and MessageConsumer implementation classes. > 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