In a polling model there are again two options:
1. One thread is responsible for the polling (i.e. executing
MessageConsumer#receive in a loop) and hands the received messages
over to a worker pool.
2. Several threads execute MessageConsumer#receive (requires several
sessions) and messages are processed by the receiving thread.
Option 1 is quite easy to implement in the current JMS transport, but
we would run into the same problem again. Option 2 easily solves the
problem but requires some substantial changes.
I have implemented option #2 you state above.. also with thread pools
that dynamically scale to handle increased loads and shrink when the
load reduces. It also now supports both local and JTA transactions.. I
will commit the code I have now, and implement the enhancements planned
for asynchronous receipt of responses separately..
asankha
--
Asankha C. Perera
http://adroitlogic.org
http://esbmagic.blogspot.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]