一、什么是定时任务?

我们在项目中遇到的需求: 需要定时送异步请求。

二、怎么实现?

2.1  mvc中启用定时任务。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:aop="http://www.springframework.org/schema/aop"
  6. xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:task="http://www.springframework.org/schema/task"
  7. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd">
  10.  
  11. <!--spring mvc的配置文件-->
  12. <!--开启mvc的注解-->
  13. <mvc:annotation-driven conversion-service="conversionService" >
  14. <!--配置转换器 转换日期的格式。-->
  15. <mvc:message-converters>
  16. <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
  17. <property name="objectMapper">
  18. <bean class="com.fasterxml.jackson.databind.ObjectMapper">
  19. <property name="dateFormat">
  20. <bean class="java.text.SimpleDateFormat">
  21. <constructor-arg type="java.lang.String" value="yyyy-MM-dd"/>
  22. </bean>
  23. </property>
  24. </bean>
  25. </property>
  26. </bean>
  27. </mvc:message-converters>
  28. </mvc:annotation-driven>
  29.  
  30. <!--配置日期转换器-->
  31. <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
  32. <property name="converters">
  33. <set>
  34. <bean class="com.aaa.controller.DateConverter"/>
  35. </set>
  36. </property>
  37. </bean>
  38.  
  39. <mvc:default-servlet-handler/>
  40.  
  41. <!--扫描器:扫描控制器的注解-->
  42. <context:component-scan base-package="com.aaa.controller"/>
  43.  
  44. <!--4.静态资源注解-->
  45. <mvc:default-servlet-handler/>
  46. <!--<mvc:resource mapping="/static/**" location="/static/"/>-->
  47.  
  48. <!--3.视图解析器:进行视图解析
  49. prefix+ 视图名字+suffix
  50. -->
  51. <!--5.文件上传的解析器 可以设置相关的属性。-->
  52. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  53. <property name="defaultEncoding" value="utf-8"/>
  54. <!--文件上传的大小:单位:字节-->
  55. <property name="maxUploadSize" value="#{10*1024*1024}"/>
  56. </bean>
  57.  
  58. <!--&lt;!&ndash; 异常处理 1. 配置解析器 &ndash;&gt;-->
  59. <!--<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">-->
  60. <!--&lt;!&ndash;1.1默认的错误视图 发生异常时, 跳转到的页面&ndash;&gt;-->
  61. <!--<property name="defaultErrorView" value="error"/>-->
  62. <!--&lt;!&ndash;1.2 异常的属性 捕获到的错误信息。&ndash;&gt;-->
  63. <!--<property name="exceptionAttribute" value="ex"/>-->
  64.  
  65. <!--&lt;!&ndash;1.3exceptionMappings &ndash;&gt;-->
  66. <!--<property name="exceptionMappings">-->
  67. <!--<props>-->
  68. <!--<prop key="异常类型1">-->
  69. <!--error1-->
  70. <!--</prop>-->
  71. <!--<prop key="异常类型2">-->
  72. <!--error2-->
  73. <!--</prop>-->
  74. <!--</props>-->
  75. <!--</property>-->
  76. <!--</bean>-->
  77.  
  78. <!--6. 配置一个拦截器 -->
  79. <mvc:interceptors>
  80. <!--<mvc:interceptor>-->
  81. <!--&lt;!&ndash; 拦截的路径 &ndash;&gt;-->
  82. <!--<mvc:mapping path="/**"/>-->
  83. <!--&lt;!&ndash; 配置拦截器的bean &ndash;&gt;-->
  84. <!--&lt;!&ndash; 放行路径 &ndash;&gt;-->
  85. <!--<mvc:exclude-mapping path="/user/login"/>-->
  86. <!--<bean class="com.aaa.interceptors.MyIntercept"/>-->
  87. <!--</mvc:interceptor>-->
  88. <mvc:interceptor>
  89. <mvc:mapping path="/**"/>
  90. <bean class="com.aaa.interceptors.Demo02"/>
  91. </mvc:interceptor>
  92.  
  93. </mvc:interceptors>
  94.  
  95. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  96. <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
  97. <property name="prefix" value="/"/> <!--视图前缀-->
  98. <property name="suffix" value=".jsp"/> <!--视图后缀-->
  99. </bean>
  100.  
  101. <!--授权 -->
  102. <aop:config ></aop:config>
  103.  
  104. <!--启用定时任务。 导包 spring frame word. org/schema/task-->
  105. <task:annotation-driven></task:annotation-driven>
  106.  
  107. </beans>

2.2  控制层中创建SchController

  1. package com.aaa.controller;
  2.  
  3. import org.springframework.scheduling.annotation.Scheduled;
  4. import org.springframework.stereotype.Controller;
  5.  
  6. import java.text.SimpleDateFormat;
  7. import java.util.Date;
  8.  
  9. /*
  10. * 定时任务?
  11.  
  12. 需求:
  13. 1.定时发送异步请求
  14. 2.使用java计时器,自启动的servlet中,线程(Thread,Thread sleep)
  15.  
  16. 使用 Schedule组件:
  17. 1.配置注解。
  18.  
  19. 1.1 mvc中 启用定时任务。
  20. 1.2 导包 【spring frame word. org/schema/task】
  21. 1.3 创建控制器 加入 schedule的注解。
  22. 1.4 秒分时日月年。 / 代表 每的意思
  23.  
  24. “0/5 * * * * *” 就是每五秒执行一次。
  25. *
  26. * */
  27. @Controller
  28. public class SchController {
  29. @Scheduled(cron = "0/3 * * * * ?")
  30. public void task1(){
  31. //日期格式的转换。
  32. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
  33. Date date = new Date();
  34. String nowTime = sdf.format(date);
  35. System.out.println("每三秒执行一次, 你好世界!"+nowTime);
  36. }
  37. }

2.3 属性说明。

2.4 字符含义

2.5 演示

spring 定时任务?的更多相关文章

  1. 摆脱Spring 定时任务的@Scheduled cron表达式的困扰

    一.背景 最近因为需要,需要适用Spring的task定时任务进行跑定时任务,以前也接触过,但是因为懒没有好好地理解@Scheduled的cron表达式,这次便对它做了一个全方位的了解和任务,记录下来 ...

  2. spring定时任务注解@Scheduled的记录

    spring 定时任务@Scheduled 转自https://www.cnblogs.com/0201zcr/p/5995779.html 1.配置文件 <?xml version=" ...

  3. spring定时任务(@Scheduled注解)

    (一)在xml里加入task的命名空间 xmlns:task="http://www.springframework.org/schema/task" http://www.spr ...

  4. Spring3.0.6定时任务task:scheduled

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  5. Spring 定时任务之 @Scheduled cron表达式

    一个基于Spring boot的一个demo: Java配置中开户对Scheduled的支持 import org.springframework.context.annotation.Configu ...

  6. spring定时任务(@Scheduled注解)cron表达式详解

    cron表达式详解: 一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素. 按顺序依次为 秒(~) 分钟(~) 小时(~) 天(~) 月(~) 星期(~ =SUN 或 SUN,MON,TU ...

  7. java中实现定时任务 task 或quartz

    转载大神的 https://www.cnblogs.com/hafiz/p/6159106.html https://www.cnblogs.com/luchangyou/p/6856725.html ...

  8. spring定时任务详解(@Scheduled注解)( 转 李秀才的博客 )

    在springMVC里使用spring的定时任务非常的简单,如下: (一)在xml里加入task的命名空间 xmlns:task="http://www.springframework.or ...

  9. spring定时任务轮询(spring Task)

    定时任务轮询比如任务自服务器启动就开始运行,并且每隔5秒执行一次. 以下用spring注解配置定时任务.1.添加相应的schema xmlns:task=" xsi:schemaLocati ...

  10. spring计划任务,springMvc计划任务,Spring@Scheduled,spring定时任务

    spring计划任务,springMvc计划任务,Spring@Scheduled,spring定时任务 >>>>>>>>>>>> ...

随机推荐

  1. MyEclipse编写jsp很卡的修改方法 (转载)

      原文来源   Post IP : 180.156.210.*       1,改默认编辑模式就可以了.将默认编辑器由"myeclipse visual jsp designer" ...

  2. Mind the Box: $\ell_1$-APGD for Sparse Adversarial Attacks on Image Classifiers

    目录 概 主要内容 Croce F. and Hein M. Mind the box: \(\ell_1\)-APGD for sparse adversarial attacks on image ...

  3. uniapp蓝牙传输中文乱码问题

    问题描述:app接收到蓝牙传出过来的二进制数据,1.app进行arrbuff转成16进制字符串 // ArrayBuffer转16进度字符串示例 function ab2hex(buffer) { c ...

  4. <数据结构>图的最短路径问题

    目录 最短路径问题 Dijstra算法:中介点优化 基本步骤 伪代码 在实现过程中的关键问题 代码实现 邻接矩阵版 邻接表版 时间复杂度:O(VlogV+E) 算法存在的问题:存在负权边时会失效 Be ...

  5. django中写入数据时给密码加密

    方法一.在自定义的form表单中重写save方法: 方法二.使用信号量来实现 1. 在应用的模块下新建signal.py文件 2.编写回调函数,内容如下: 3. 在应用的app.py文件中的ready ...

  6. java.exe and -classpth or -cp

    mydirname=$(dirname $0) java -cp $classes_dir:$lib_dir/*:$config_dir -Doracle.net.wallet_location=${ ...

  7. 服务限流 -- 自定义注解基于RateLimiter实现接口限流

    1. 令牌桶限流算法 令牌桶会以一个恒定的速率向固定容量大小桶中放入令牌,当有浏览来时取走一个或者多个令牌,当发生高并发情况下拿到令牌的执行业务逻辑,没有获取到令牌的就会丢弃获取服务降级处理,提示一个 ...

  8. UVA 156 Ananagrams (STL multimap & set)

    原题链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=98&p ...

  9. AVD模拟器怎么配置上网

    转自:http://blog.csdn.net/you_jinjin/article/details/7228303 方法一 首先,Windows下,配置Adroid环境变量(Win7为例) 1.桌面 ...

  10. 数组内sizeof与strlen的区别

    1.数组在内存中是连续存放的,地址呈4个字节递增 2.数组的定义需要初始化,否则输出会已随机值输出 3.strlen()和sizeof()之间无关联:strlen():是求字符串长度的----只能针对 ...