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. 自己用C语言写RL78 serial bootloader

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 之前用C实现过多款PI ...

  2. 润乾报表整合到Tomcat服务器的部署过程

    转载自:http://www.cnblogs.com/avivaye/archive/2012/11/16/2773681.html 使用第三方的报表设计器/服务器来快速的开发报表. 润乾服务器是使用 ...

  3. Sublime Text3添加右键

    在Sublime Text3安装目录下新建一个文件 sublime_addright.inf 文件内容: [Version] Signature="$Windows NT$" [D ...

  4. 如何快速解决MySQL 1032 主从错误

    3分钟解决MySQL 1032主从错误 Part1:写在最前1032错误----现在生产库中好多数据,在从库误删了,生产库更新后找不到了,现在主从不同步了,再跳过错误也没用,因为没这条,再更新还会报错 ...

  5. mybatis SQL映射配置文件

    目录 标签常见属性(备忘) 参数样例 resultType.resultMap.discriminator 自动映射 动态SQL语句 罗列Mapper中最常用部分 标签常见属性(备忘) <sel ...

  6. Web自动化常用方法封装(不定时更新)

    /** * JScript实现鼠标悬停 */public void mouseHoverJScript(By by,WebElement HoverElement) { // TODO Auto-ge ...

  7. CF刷题-Codeforces Round #481-D. Almost Arithmetic Progression

    题目链接:https://codeforces.com/contest/978/problem/D 题解: 题目的大意就是:这组序列能否组成等差数列?一旦构成等差数列,等差数列的公差必定确定,而且,对 ...

  8. Linux系统服务(daemon)(鸟哥Linux私房菜笔记)

    Linux系统服务(daemon) 一.SystemV的init管理机制(脚本式启动)1.服务启动分类stand alone 独立启动模式super daemon 总管程序 2.服务的启动.关闭与观察 ...

  9. 【转】: 塞尔达组在GDC2017演讲的文字翻译:显示的力量

      塞尔达系列推出新作的时候,美术风格都有明显变化.本作的风格比起写实,笔触轻快变化幅度大是其特征.2011年公开的技术演示中,画面风格要更加写实.最终版则更接近于卡通.5年里到底发生了什么呢? ▲2 ...

  10. 技本功丨收藏!斜杠青年与你共探微信小程序云开发(下篇)

    2019年2月26日,人们为了一个杯子疯了一天. 星巴克猫爪杯,一场已经与猫无关了的“圣杯战争“.网上的倒卖价格,已炒至近千元! 求而不得,舍而不能,得而不惜.这是人最大的悲哀... 所以,请珍惜以下 ...