The reference (and debugging) says that if we simply specify:
then a blocking Queue is created, but the poller will be working in the same thread as the caller. Now question - is a situation possible when caller puts something into the queue and the thread is not actually polling right after, but can be given away to do some other job? Because I have integration tests that are expecting that polling happens and message is processed further, but in 30-50% of cases this doesn't happen.Code:<si:channel id="errorChannel"> <si:queue capacity="500"/> </si:channel>
I'm trying to figure out how SI does this putting/polling from the queue in the internals and whether described situation is possible or something else causes problems. It's not clear what thread does between putting and polling..
I debugged it further and it seems that QueueChannel does not even put message into those 30-50% cases into the queue.