<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">有这样一个需求,定时任务产生多个线程读取一张表,然后每个线程扫描这个表的一部分,将记录调用预先定义好的Web Service接口。</span>
该问题可以分解为几个部分,第一、定时任务下的线程管理;第二、表的分段读取;第三、资源保护
第一部分,由于LZ的项目采用Spring架构,于是采用基于注解的ThreadPoolTaskExecutor,applicationContext.xml中的配置如下:
<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="corePoolSize" value="10" />
<property name="maxPoolSize" value="15" />
<!--<property name="keepAliveSeconds" value="100"/>-->
<property name="WaitForTasksToCompleteOnShutdown" value="