Spring Batch 提供了一些非常有用的工具类(例如 JobLauncherTestUtils 和 JobRepositoryTestUtils)和测试执行监听器(StepScopeTestExecutionListener 和 JobScopeTestExecutionListener)来测试批量组件。然而, 为了能够使用这些工具类,你必须明确的对它们进行配置。这个发布介绍了一个新的注解,这个注解被命名为 @SpringBatchTest 能够自动的添加工具 bean(utility beans)和监听器(listeners)来测试上下文并且为自动写入来标记为可用,下面是一个示例代码:
  
  @RunWith(SpringRunner.class)
  
  @SpringBatchTest
  
  @ContextConfiguration(classes = {JobConfiguration.class})
  
  public class JobTest {
  
  @Autowired
  
  private JobLauncherTestUtils jobLauncherTestUtils;
  
  @Autowired
  
  private JobRepositoryTestUtils jobRepositoryTestUtils;
  
  @Before
  
  public void clearMetadata() {
  
  jobRepositoryTestUtils.removeJobExecutions();
  
  }
  
  @Test
  
  public void testJob() throws Exception {
  
  // given
  
  JobParameters jobParameters =
  
  jobLauncherTestUtils.www.haomem178.cn getUniqueJobParameters();
  
  // when
  
  JobExecution jobExecution =
  
  jobLauncherTestUtils.launchJob(www.mcyllpt.com jobParameters);
  
  // then
  
  Assert.assertEquals(ExitStatus.COMPLETED,
  
  jobExecution.getExitStatus());
  
  HTTP缓存类型
  
  200 from cache:直接从本地缓存获取响应,可细分为from disk cache, from memory cache
  
  304 Not Modified:协商缓存,本地未命中发送校验数据到服务端,如果服务端数据没有改变,则读取本地缓存响应
  
  200 OK:不读取缓存,服务器返回完整响应
  
  本地缓存相关Header(Response)
  
  Pragma(1.0):设置为no-cache时会禁用本地缓存
  
  Expires(1.0):值为格林威治时间,在这个时间前缓存有效无需发送请求
  
  Cache-Control:缓存过期时间间隔
  
  no-store:禁止缓存响应
  
  no-cache:先发起请求和服务器协商,通过才能缓存响应
  
  max-age=delta-seconds:告知浏览器该响应本地缓存有效的最长期限,以秒为单位
  
  优先级:Pragma > Cache-control > Expires
  
  协商缓存相关Header(Response)
  
  Last-Modified:最后修改时间, If-Modified-Since(Request),发送到服务器的验证时间
  
  ETag:文件的指纹标识符,随着文件内容改变而改变,If-None-Match(Request),发送到服务器的验证标识符
  
  适合缓存的内容
  
  直接缓存:js,css,图片,媒体文件
  
  协商缓存:HTML,经常改变的js,css,图片,媒体文件
  
  不适合缓存
  
  用户隐私数据
  
  经常改变的api接口数据
  
  拒绝缓存:使用签名,如.js?签名
  
  Nginx
  
  add_header
  
  本地缓存配置
  
  expire:通知浏览器过期时长, expire time;
  
  负值:cache-control:no-cache
  
  正值:cache-control:max-age=指定时间
  
  max:cache-control:max-age=10年后
  
  协商缓存配置
  
  Etag on|off,默认是on
  
  }

Spring Batch @SpringBatchTest 注解的更多相关文章

  1. Spring Batch @EnableBatchIntegration 注解

    设置一个远程分块任务需要定义一系列的 beans: 一个连接工程来从消息中间件中获得连接,消息中间件包括有(JMS,AMQP 和其他) 一个 MessagingTemplate  来从主向从发送消息, ...

  2. spring batch的使用和定时器Quart的使用

    Spring Batch是一个基于Spring的企业级批处理框架,它通过配合定时器Quartz来轻易实现大批量的数据读取或插入,并且全程自动化,无需人员管理. 在使用spring batch之前,得对 ...

  3. Spring Batch 入门级示例教程

    Spring Batch 入门级示例教程 我将向您展示如何使用Spring Boot创建一个的Spring Batch的Hello World示例. (循序渐进) 因此,如果您是Spring Batc ...

  4. Spring Batch在大型企业中的最佳实践

    在大型企业中,由于业务复杂.数据量大.数据格式不同.数据交互格式繁杂,并非所有的操作都能通过交互界面进行处理.而有一些操作需要定期读取大批量的数据,然后进行一系列的后续处理.这样的过程就是" ...

  5. Spring Batch实践

    Spring Batch在大型企业中的最佳实践 在大型企业中,由于业务复杂.数据量大.数据格式不同.数据交互格式繁杂,并非所有的操作都能通过交互界面进行处理.而有一些操作需要定期读取大批量的数据,然后 ...

  6. spring batch学习笔记

    Spring Batch是什么?       Spring Batch是一个基于Spring的企业级批处理框架,按照我师父的说法,所有基于Spring的框架都是使用了spring的IoC特性,然后加上 ...

  7. spring batch (四) Job的配置及配置文件说明介绍

    内容来自<Spring Batch 批处理框架>,作者:刘相.我只是个搬运工. 一.Spring Batch提供了独立的标签用来顶一个Job配置,分别是job.step.tasklet.c ...

  8. Spring Batch JSR-305 支持

    本发布版本中为 JSR-305 支持添加了一个注解.这个为了与 Spring 框架中的  Null-safety 注解取得平衡,然后为 Spring Batch 添加为 public APIs. 这个 ...

  9. Spring batch的学习

    Spring batch是用来处理大量数据操作的一个框架,主要用来读取大量数据,然后进行一定处理后输出成指定的形式. Spring batch主要有以下部分组成: JobRepository     ...

随机推荐

  1. python3.0 day02 列表、元组 、字典、字符串操作

    1.列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作,类似于其他语言中的数组. 定义列表 names = ['Lioa',"Tenglan ...

  2. HTML中CSS入门基础

    HTML.CSS 实用css有三种格式:内嵌:内联:外部: 分类:内联:写在标记的属性位置,优先级最高,重用性最差内嵌:写在页面的head中,优先级第二,重用性一般外部:写在一个以css结尾的文件中, ...

  3. Android线程管理(一)——线程通信

    线程通信.ActivityThread及Thread类是理解Android线程管理的关键. 线程,作为CPU调度资源的基本单位,在Android等针对嵌入式设备的操作系统中,有着非常重要和基础的作用. ...

  4. 「日常训练」The Necklace(UVA-10054)

    代码 for(int i=0; i!=n; ++i) { int u = cin.nextInt(); int v = cin.nextInt(); edges.add(new Edge(u,v)); ...

  5. katalon系列十六:代码运行时实时创建元素对象或列表

    Katalon的常规方法是先抓取元素并保存到仓库,在脚本中需要用到的时候调取,但假如元素属性和个数是可变的,就不能事先保存到仓库了,需要在脚本运行时实时创建. 代码运行时实时创建一个元素对象的例子im ...

  6. Jmeter接口测试(九)授权

    下面应该是jmeter的授权设置,但是由于本人目前对这块了解还不深,暂时写个标题,以后有时间再来补充,大家可以先看下一篇内容

  7. springmvc传参---LocalDateTime、Date等时间类型转换

    此处定义的dateConvert用来转换Date类型,如果是LocalDate.LocalDateTime类型,则将Date类型换成相应的类型即可,注意java8的日期类型需要用Formatter格式 ...

  8. 《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音

    <Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内 ...

  9. HttpServlet 详解(基础)

    HttpServlet详解 大家都知道Servlet,但是不一定很清楚servlet框架,这个框架是由两个Java包组成:javax.servlet和javax.servlet.http. 在java ...

  10. Asphalting Roads(翻译!)

    Description City X consists of n vertical and n horizontal infinite roads, forming n × n intersectio ...