You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Stuart Bain (JIRA)" <ji...@apache.org> on 2006/11/03 16:30:02 UTC

[jira] Commented: (AMQ-999) Message dispatcher issues (use dedicated dispatching thread for each session)

    [ 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