当我们用到多个定时器的时候,有些定时器可能执行时间特别长,比如两三个小时。如果对其他定时器,尤其是按频率执行的定时器的精确率要求较高的时候,肯定就会出问题了。
这时候我们就需要用到多线程的定时器,其实很简单,因为定时器默认线程为单线程,所以我们修改一下它的线程个数上限就行了,具体就是在XML里面加几个配置,今天花了一天来解决这个问题,避免以后再遇到,所以记录以下~~~~
以下为XML的代码
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation=" http://www.springframework.org/schema/beans classpath:/org/springframework/beans/factory/xml/spring-beans-4.1.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.1.xsd"> <!-- 启用annotation方式 --> <task:annotation-driven scheduler="myScheduler" /> <!-- 配置任务线程池 (这里配置线程个数)--> <task:scheduler id="myScheduler" pool-size="5" /> </beans>