1
<task:executor id="ACTIVATION-2000" 
          pool-size="#[ACTIVATION_THREAD_NUMBER]" 
          queue-capacity="20000" 
          waitForTasksToCompleteOnShutdown="true"/>

在上面的示例中,当我添加waitForTasksToCompleteOnShutdown属性时。由于 xsd 不支持,我得到以下错误。为什么我们不能添加waitForTasksToCompleteOnShutdown上面的命名。

属性waitForTasksToCompleteOnShutdown不允许出现在 element 中task:executor

4

1 回答 1

0

回答

使用具有以下实现的 BeanPostProcessor 可以解决问题

@Override
public Object postProcessBeforeInitialization(Object object, String arg1)
        throws BeansException {
    if(object instanceof ThreadPoolTaskScheduler)
        ((ThreadPoolTaskScheduler)object).setWaitForTasksToCompleteOnShutdown(true);
    return object;
}
于 2013-07-11T12:49:24.307 回答