继承:http://www.cnblogs.com/crazylqy/p/4220743.html

spring设置容器启动时运行线程类(可循环执行)

修改以下两文件,

1.spring设置容器启动时运行线程类

<?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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- 托管线程 -->
<bean id="messagePrinterTask" class="MessagePrinterTask">
</bean> <!-- 这样设置容器一启动就自动运行某个线程 start -->
<bean id="springScheduleExecutorTask" class="org.springframework.scheduling.concurrent.ScheduledExecutorTask">
<property name="runnable" ref="messagePrinterTask" /><!-- messagePrinterTask为线程类 -->
<!-- 容器加载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>
<!-- 这样设置容器一启动就自动运行某个线程 end --> </beans>

测试运行

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
ApplicationContext appContext = new ClassPathXmlApplicationContext("applicationContext.xml");
}
}

结果

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAARUAAACFCAIAAAD6nftCAAACOElEQVR4nO3b200CYRhF0b+uKWjqmRKoYpqhielgfEAQb6g7GBNcKz4g8YHE7ODlO2Pbtm3bDofD6cHOHa3zPubLJ/sY+/qXL4dvW6++cbcM/fym4z6NfZw/luNfvx6+ST/w+/QDnX6gu0M/6zxO5vWLJ+HB3Ov957hM71P58El4HPqB7rN+1nnMyzKdfgabnv/wus6XHN6moR/+oxv9nH93WeerR/qBF7fef96loh94RT/Q/bSf069Cx2V686dp/fAf/aif527GGNOynL/g8tz1P3w+fBIejfsD6PQDnX6g0w90+oFOP9DZL0Dn/ho6/UBnvwCd/QJ07q+h0w909gvQ2S9A5/4AOv1Apx/o9AOdfqDTD3T2C9C5v4ZOP9DZL0BnvwCd+2vo9AOd/QJ09gvQuT+ATj/Q6Qc6/UCnH+j0A539AnTur6HTD3T2C9DZL0Dn/ho6/UBnvwCd/QJ07g+g0w90+oFOP9DpBzr9QGe/AJ37a+j0A539AnT2C9C5v4ZOP9DZL0BnvwCd+wPo9AOdfqDTD3T6gU4/0NkvQOf+Gjr9QGe/AJ39AnTur6HTD3T2C9DZL0Dn/gA6/UCnH+j0A51+oNMPdPYL0Lm/hk4/0NkvQGe/AJ37a+j0A539AnT2C9C5P4BOP9DpBzr9QKcf6PQDnf0CdO6vodMPdPYL0NkvQOf+Gjr9QGe/AJ39AnTuD6DTD3T6gU4/0OkHOv1Apx/o9AOdfqDTD3T6gU4/0OkHOv1A9wS9Dnwh7o5u9gAAAABJRU5ErkJggg==" alt="" />

spring-线程池(2)的更多相关文章

  1. Spring线程池开发实战

    Spring线程池开发实战 作者:chszs,转载需注明. 作者博客主页:http://blog.csdn.net/chszs 本文提供了三个Spring多线程开发的例子,由浅入深,由于例子一目了然, ...

  2. Spring线程池配置模板设计(基于Springboot)

    目录 线程池配置模板 基础的注解解释 常用配置参数 配置类设计 线程池使用 ThreadPoolTaskExecutor源码 线程池配置模板 springboot给我们提供了一个线程池的实现,它的底层 ...

  3. Spring线程池ThreadPoolTaskExecutor配置及详情

    Spring线程池ThreadPoolTaskExecutor配置及详情 1. ThreadPoolTaskExecutor配置 <!-- spring thread pool executor ...

  4. 分享知识-快乐自己:Spring线程池配置

    Spring通过ThreadPoolTaskExecutor实现线程池技术,它是使用jdk中的Java.util.concurrent.ThreadPoolExecutor进行实现. Spring 配 ...

  5. Spring线程池由浅入深的3个示例

    作者博客主页:http://blog.csdn.net/chszs 本文提供了三个Spring多线程开发的例子,由浅入深,由于例子一目了然,所以并未做过多的解释.诸位一看便知. 前提条件: 1)在Ec ...

  6. 【SSM Spring 线程池 OJ】 使用Spring线程池ThreadPoolTaskExecutor

    最近做的Online Judge项目,在本地判题的实现过程中,遇到了一些问题,包括多线程,http通信等等.现在完整记录如下: OJ有一个业务是: 用户在前端敲好代码,按下提交按钮发送一个判题请求给后 ...

  7. spring线程池的同步和异步(1)

    spring线程池(同步.异步) 一.spring异步线程池类图 二.简单介绍 2.1. TaskExecutor---Spring异步线程池的接口类,其实质是java.util.concurrent ...

  8. 007-多线程-JUC线程池-Spring线程池配置、池子如何配置参数

    一.概述 Spring通过ThreadPoolTaskExecutor实现线程池技术,它是使用jdk中的Java.util.concurrent.ThreadPoolExecutor进行实现. 1.1 ...

  9. JDK线程池和Spring线程池的使用

    JDK线程池和Spring线程池实例,异步调用,可以直接使用 (1)JDK线程池的使用,此处采用单例的方式提供,见示例: public class ThreadPoolUtil { private s ...

  10. spring线程池配置

    源自:http://zjriso.iteye.com/blog/771706 1.了解 TaskExecutor接口 Spring的TaskExecutor接口等同于java.util.concurr ...

随机推荐

  1. 聊天界面使用IQKeyboardManager导航栏及整个页面上移的解决方法

    问题: 使用第三方库IQKeyboardManager时会使整个页面上移,导航栏页偏移出了显示范围.在聊天界面就会使得上面的消息看不到. 解决方法: 首先说明:在聊天界面使用IQKeyboardMan ...

  2. Redis基础学习(三)—Key操作

    一.key的相关操作 1.删除 del key1 key2 ... Keyn 作用: 删除1个或多个键. 返回值: 不存在的key忽略掉,返回真正删除的key的数量.   2.重命名 rename k ...

  3. mac的终端为什么会显示git:(master),如何取消掉?

    今天在终端误操作,在主目录下执行git init命令,结果杯具了, 总是出现这个提示. 各种搜索解决方案,终于退出了. 方法如下: 删掉.git目录: rm -rf ~/.git

  4. 快速排序算法回顾 --冒泡排序Bubble Sort和快速排序Quick Sort(Python实现)

    冒泡排序的过程是首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则将两个记录交换,然后比较第二个记录和第三个记录的关键字.以此类推,直至第n-1个记录和第n个记录的关键字进行过比较为止 ...

  5. Win10隐藏硬盘分区

    前几天装了Win10和OpenSUSE的双系统,结果挂载Linux的分区被Windows识别成了三个盘符,在Windows下是不能直接访问它们的,而且双击还会提示你是否格式化. 因为在windows放 ...

  6. OC 常见面试题以及答案

    一. #improt 和include区别?@class? 1.include 主要用用来引用C 文件  import 主要引用OC 头文件  import 确保一个文件只能被导入一次  避免了交叉编 ...

  7. [Oracle]Audit(二)--清理Audit数据

    在上一篇,初步了解了Audit的作用以及如何使用Audit,本篇记录如何手动清理Audit数据. (一) 概述 Audit的数据主要存储在sys.aud$表中,该表默认位于system表空间中,我们根 ...

  8. Amazon Alexa登录授权(Android)

    访问Alexa的API,必须要携带AccessToken,也就是必须要登录授权,本文主要记录Amazon Alexa在Android平台上的登录授权过程. 一.在亚马逊开发者平台注册应用 进入亚马逊开 ...

  9. C语言学习的第一章

    首先,学习编写程序要先知道什么是程序,我们为什么要写程序? 程序就是为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合.程序里有很多算法,算法是解决问题的具体方法和步骤,就像我们想要得 ...

  10. bzoj1834 [ZJOI2010]网络扩容

    Description 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费用.求: 1. 在不扩容的情况下,1到N的最大流: 2. 将1到N的最大流增加K所需的 ...