activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "james strachan (JIRA)" <>
Subject [jira] Resolved: (AMQ-999) Message dispatcher issues (use dedicated dispatching thread for each session)
Date Fri, 27 Oct 2006 17:25:02 GMT
     [ ]

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.


> Message dispatcher issues (use dedicated dispatching thread for each session)
> -----------------------------------------------------------------------------
>                 Key: AMQ-999
>                 URL:
>             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
> - 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:
For more information on JIRA, see:


View raw message