线程隔离主要是指线程池隔离,在实际使用时,我们会把请求分类,然后交给不同的线程池处理。当一种业务处理发生问题时,不会将故障扩散到其他线程池,从而保证其他服务可用。
会根据服务等级划分两个线程池,以下是池的抽象
<bean id="zeroLevelAsyncContext"
class="com.xx.noah.base.web.DynamicAsyncContext"
destroy-method="stop">
<property name="asyncTimeoutInSeconds"
value="${zero.level.request.async.timeout.seconds}">
<property name="poolSize"
value="${zero.level.request.async.pool.size}">
<property name="keepAliveTimeInSeconds"
value="${zero.level.request.async.keepalive.seconds}">
<property name="queueCapacity"
value="${zero.level.request.async.queue.capacity}">
</bean>