hwjohnsonjr
Nov 17th, 2009, 03:46 PM
Does anyone have any ideal as to why we are losing poller threads periodically. We have a multi threaded app which consistently produces and consumes messages. Typically as soon as a message is consumed another is produced. After a while even though there are messages still in the queue either some or all of the treads from the dedicated thread pool park while the task-scheduler continues to process messages. Eventually, once the producing slows down the parked threads return to process messages.
Config:
<channel id="StageOneChannel">
<queue capacity="10"/>
</channel>
<poller id="stage1ChannelPoller" task-executor="stage1Pool">
<interval-trigger interval="1000"/>
<transactional transaction-manager="transactionManager"
propagation="REQUIRES_NEW"
isolation="READ_COMMITTED"
timeout="10000"
read-only="false"/>
</poller>
<thread-pool-task-executor id="stage1Pool"
core-size="2"
max-size="4"
queue-capacity="10"
keep-alive-seconds="500"/>
Config:
<channel id="StageOneChannel">
<queue capacity="10"/>
</channel>
<poller id="stage1ChannelPoller" task-executor="stage1Pool">
<interval-trigger interval="1000"/>
<transactional transaction-manager="transactionManager"
propagation="REQUIRES_NEW"
isolation="READ_COMMITTED"
timeout="10000"
read-only="false"/>
</poller>
<thread-pool-task-executor id="stage1Pool"
core-size="2"
max-size="4"
queue-capacity="10"
keep-alive-seconds="500"/>