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. 解决 mysql in 查询排序问题

    select id,title from za_item where -- id ,) 返回的结果第一条是对应id是1000,第二条是1003. 如果我们想让结果和in里面的排序一致,可以这么做. s ...

  2. a data verification error occurred, file load failed

    1. 调试创龙DSP6748的时候,下载.out文件出现这个错误 2. 换了其他板子,还有其他仿真器也不行,最后发现是没加载GEL文件

  3. katalon系列十:Katalon Studio自定义关键字之拖拽

    Katalon Studio自带关键字“Drag And Drop To Object”,可以在这个网站实践:http://jqueryui.com/droppable/#default 不过“Dra ...

  4. JMeter自学笔记1-环境安装

    一.写在前面的话: Jmeter是一款优秀的开源测试工具, 是每位测试工程师进阶过程中,需要熟悉并掌握的一款测试工具,熟练使用Jmeter能大大提高工作效率. Jmeter环境安装需要依赖JDK,所以 ...

  5. 学习笔记之windows 网络编程

    WinSock2.h编程接口笔记在Qtcreater中使用系统默认的库只需要在.pro文件中添加 LIBS += -lws2_32 添加头文件#include <WinSock2.h *初始化套 ...

  6. zepto 添加 animate组件

    今天发现JQuery可以用 animate方法回到顶部,心想着zepto应该也可以 $('html,body').animate({ scrollTop: 0 }, 1000); 于是便用了一下,发现 ...

  7. spring-boot断点调试(IDEA)

  8. PHP性能优化 -实战篇

    借助xhprof 工具分析PHP性能 XHPorf(源自Fackbook 的PHP性能分析工具) 实战     通过分析Wordpress程序,做优化! 优化 找到需要优化的函数 grep 'impo ...

  9. 算法笔记(c++)--关于01背包的滚动数组

    算法笔记(c++)--关于01背包的滚动数组 关于01背包问题:基本方法我这篇写过了. https://www.cnblogs.com/DJC-BLOG/p/9416799.html 但是这里数组是N ...

  10. 20181016-4 Alpha阶段第1周/共2周 Scrum立会报告+燃尽图 04

    此作业要求https://edu.cnblogs.com/campus/nenu/2018fall/homework/2248 Scrum master:徐常实 一.小组介绍 组长:王一可 组员:范靖 ...