
|
If you were logged in you would be able to see more operations.
|
|
|
ActiveMQ
Created: 11/Jan/07 02:06 PM
Updated: 07/Mar/07 06:53 AM
|
|
| Component/s: |
Broker
|
| Affects Version/s: |
None
|
| Fix Version/s: |
4.1.1
|
|
|
If a producer sends to a queue and blocks, any other producer sharing the same connection even if he would be sending to an empty queue would also block. This in effect can cause a deadlock if the right message processing flow is set up.
|
|
Description
|
If a producer sends to a queue and blocks, any other producer sharing the same connection even if he would be sending to an empty queue would also block. This in effect can cause a deadlock if the right message processing flow is set up. |
Show » |
|
Basically, if producer uses sync sends, he now can not block another producer on the shared connection. To force all sends to be done sync, a new 'useSyncSend' option has been add to the ActiveMQConnectionFactory.
We should consider implementing a more robust soultion that will work even with async sends in 5.0. This could be done by using producer flow control with acks similar to how we flow control consumers.