Scrap that, I remembered this is wrong :-)
It actually does what I said it should do.
The thread problem is when pushing the messages.
If a message arrives for a topic with 200 consumers,
200 threads can be created to push the messages.
The thread pool then forgets 190 once the message
It recreates 190 on the next message.
Is the pool miss-configured??
If we max out the pool to say 50 threads, let the pool queue up rest of the 150 the work requests.. do you think this would help.
I think we might have tried something like this once, but we were getting deadlocks. Never did pin-point the root cause of the deadlock.