|
|
|
[
Permlink
| « Hide
]
David Jencks - 24/Mar/08 12:22 AM
Fixed in rev 640336, branches 4.1. The actual fix is in activemq-core/src/main/java/org/apache/activemq/broker/region/PrefetchSubscription.java, other files contain thread-safety improvements. Leaving open till I can check trunk for similar problems.
I talked with Hiram a bit and we decided that the real problem was that prefetchSize was being calculated wrong. MDBs instances for an activation spec all share a single multithreaded consumer. So the prefetch size ought to be maxMessagesPerSession * maxSessions, so each mdb gets a chance at maxMessagesPerSession. Previously prefetchSize = maxMessagesPerSession which resulted in some mdbs never getting a chance to process anything if maxMessagesPerSession < maxSessions.
Still haven't looked at trunk. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||