<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "/spring-beans.dtd">
<beans>
<!-- 异步线程池 -->
<bean id="threadPool" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<!-- 核心线程数 -->
<property name="corePoolSize" value="10" />
<!-- 最大线程数 -->
<property name="maxPoolSize" value="50" />
<!-- 队列最大长度 >=mainExecutor.maxSize -->
<property name="queueCapacity" value="1000" />
<!-- 线程池维护线程所允许的空闲时间 -->
<property name="keepAliveSeconds" value="300" />
<!-- 线程池对拒绝任务(无线程可用)的处理策略 -->
<property name="rejectedExecutionHandler">
<bean class="java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy" />
</property>
</bean>
<bean id="mainExecutor" class="supben.MainExecutor">
<property name="threadPool" ref="threadPool" />
</bean>
<bean id="springScheduleExecutorTask" class="org.springframework.scheduling.concurrent.ScheduledExecutorTask">
<property name="runnable" ref="mainExecutor" />
<!-- 容器加载10秒后开始执行 -->
<property name="delay" value="10000" />
<!-- 每次任务间隔 5秒-->
<property name="period" value="5000" />
</bean>
<bean id="springScheduledExecutorFactoryBean" class="org.springframework.scheduling.concurrent.ScheduledExecutorFactoryBean">
<property name="scheduledExecutorTasks">
<list>
<ref bean="springScheduleExecutorTask" />
</list>
</property>
</bean>
</beans>
public class MainExecutor extends TimerTask {
//注入ThreadPoolTaskExecutor 到主线程中
private ThreadPoolTaskExecutor threadPool;
public void setThreadPool(ThreadPoolTaskExecutor threadPool){
this.threadPool = threadPool;
}
//在主线程中执行任务线程.....
@Override
public void run() {
threadPool.execute(new Task1());
}
//任务线程1... 同理可以有2,有3..
public class Task1 implements Runnable {
public void run() {
Time time = new Time(System.currentTimeMillis());
System.out.println("这是第一个工作,执行于:"+time);
}
}
分享到:
相关推荐
spring 多线程队列执行
Spring3.0 mvc 定时器及多线程任务demo
1. SpringBoot 自定义线程池以及多线程间的异步调用(@Async、@EnableAsync) 2.Java多线程之定时任务 以及 SpringBoot多线程实现定时任务 3.@EnableScheduling 与 @Scheduled
ssm框架的请移步 https://github.com/zhangtianqing/ssm_ThreadPoolExecutor
NULL 博文链接:https://dave-2009.iteye.com/blog/769637
spring定时任务 spring多线程的一个简单示例。
本篇文章主要介绍了详解Spring-Boot中如何使用多线程处理任务,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
本篇文章主要介绍了spring多线程与定时任务,详细的介绍了spring多线程任务和spring定时任务,有兴趣的可以了解一下。
主要介绍了Spring-Boot中如何使用多线程处理任务方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Spring3.2.6定时任务+线程池,实现系统后台任务多线程处理
8、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞; 9、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务; 10、邮件报警:任务失败时支持邮件报警,支持配置多...
springboot默认为单线程,多个定时任务时,必须一个执行完后才能执行另外一个,本文通过线程池达到多线程异步处理
spring boot 通过任务执行器 taskexecutor 来实现多线程和并发编程。下面这篇文章主要给大家介绍了关于spring boot中多线程开发的注意事项,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
主要介绍了Spring boot如何通过@Scheduled实现定时任务及多线程配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
第三种:基于注解设定多线程定时任务。 一、基于@Scheduled注解的方式 1.1 cron 1.1.1 定时任务的方法在启动类里面 1.1.2 定时任务的方法在启动类之外 1.2 fixedDelay 1.3 fixedRate 1.4 initialDelay 一点五 cron...
主要介绍了spring-boot 多线程并发定时任务的解决方案,需要的朋友可以参考下
主要介绍了详解SpringBoot 多线程处理任务 无法@Autowired注入bean问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要给大家介绍了关于Spring Boot中配置定时任务、线程池与多线程池执行的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
主要介绍了Spring Boot定时任务单线程多线程实现代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
但如果只是简单的跑个任务其实spring升级到3后已经自带任务调度器了,相比之下Spring task无论是理解还是使用都简单很多。但是Quartz有线程和线程管理以及集群等高级特性,所以大家可以自行选择了。不过一般情况下,...