文档详情

Spring3.2.6定时任务+线程池.docx

发布:2017-05-23约5.92千字共5页下载文档
文本预览下载声明
Spring3.2.6 框架多线程序配置【定时任务+线程池】 费劲周折终于把这个功能配置起来了,在网上找到很多资料,大多数例子基本都是相互拷贝,前后不搭调,搞得不知所措。因此我把这次配置可以完整运行的示例程序整理出来,分享,希望有时间再进一步优化,共同进步。。 Spring配置文件: ?xml version=1.0 encoding=UTF-8? !DOCTYPE beans PUBLIC -//SPRING//DTD BEAN//EN /dtd/spring-beans.dtd beans !-- 线程池 -- bean id=taskExecutor class=org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor !-- 核心线程数 -- property name=corePoolSize value=4 / !-- 最大线程数 -- property name=maxPoolSize value=8 / !-- 队列最大长度 -- property name=queueCapacity value=200 / !-- 线程池维护线程所允许的空闲时间 -- property name=keepAliveSeconds value=300 / !-- 线程池对拒绝任务(无线程可用)的处理策略 -- property name=rejectedExecutionHandler bean class=java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy / /property /bean bean id=mainProcess class=com.tz.controller.MainPro property name=taskExecutor ref=taskExecutor / /bean bean id=springScheduleExecutorTask class=org.springframework.scheduling.concurrent.ScheduledExecutorTask !-- 要启动的主线程 -- property name=runnable ref=mainProcess / !-- 容器加载运行延迟1秒 -- property name=delay value=1000 / !-- 任务间隔时间(sleep时间)执行完第一组任务,执行第二组任务相隔时间,两个任务在时间上不应该相交 -- property name=period value=10000 / /bean bean id=springScheduledExecutorFactoryBean class=org.springframework.scheduling.concurrent.ScheduledExecutorFactoryBean property name=scheduledExecutorTasks list ref bean=springScheduleExecutorTask / /list /property /bean /beans 程序对应的类:MainPro.java package com.tz.controller; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; /** * 要起动的主线程 * @author wyg */ public class MainPro implements Runnable { private ThreadPoolTaskExecutor taskExecutor; public MainPro(){} public MainPro(ThreadPoolTaskExecutor taskExecutor){ this.taskExecutor = taskExecutor; } public ThreadPoolTaskExecutor getTaskExecutor() { return
显示全部
相似文档