- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正如标题所说,整个批处理作业究竟如何与 Spring Batch 一起工作?我明白(当然,如果我错了,请纠正我)有一个存储作业的存储库,然后每个作业都有步骤,每个步骤要么是一个 tasklet,要么是 ItemReaders 和 ItemProcessors 的组合,然后是 ItemWriter when一 block 已经被填满了。
我不明白的是这一切在实际代码中的表现如何;我一直在阅读文档并查看示例,但我已经迷路了。我什至如何告诉工作在我想要的时间/地点运行?有大约一百万个以“作业”开头的类,我如何一起使用最少量的类来存储我定义的作业,然后随时随地运行它们?此外,我看到的所有示例要么完全/大部分基于 XML,但我想尽可能少地使用 XML。
另一个让我感到困惑的大问题是,ItemReader/Processor/Writers 究竟是如何知道他们正在处理的是什么项目/项目 block ?可以想象我自己实现了一个 ItemProcessor,为此,我显然需要访问它正在处理的项目来处理它,或者对于 ItemWriter,我想访问 block 它想要写入的项目数。
最佳答案
Mkyong.com有一些美好的 Spring batch tutorials它给出了一些相当清楚的例子,说明作业配置实际上是什么样子的。有关基本示例,请参见 here .不幸的是,这些示例大多是 XML 格式的。这是一个 blog post以使用 java 配置的示例为例。
就项目读取器/处理器/写入器类型而言。您通常会有一个读取器和至少一个处理器/写入器组合。两者都不是必需的。
在理解每一个方面,请查看接口(interface) - 它们可能会帮助您理清思路。例如,这是 ItemWriter 的接口(interface):
void write(java.util.List<? extends T> items)
http://docs.spring.io/spring-batch/trunk/apidocs/org/springframework/batch/item/ItemWriter.html
请注意,需要写入一批项目。处理器通常逐项处理。 Readers 可以被分页(例如,通过实现 AbstractPagingItemReader),并在实际执行提取(例如,对数据库的分页查询)之前收集迭代中的项目。
关于java - Spring 批处理 : How exactly does executing a job all come together?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32031781/
我想在其他“已批准”域上放一个指向我网站的链接。当他们单击链接时,它会转到一个页面,该页面会检查引荐来源网址 ($_SERVER['HTTP_REFERRER']) 以确保它们来自已获准拥有我的链接的
我用这一行创建一个 defaultdict 并使用列表作为值对其进行初始化。 page_by_due_date = defaultdict(list) due_pages_list = [] for
我有一个使用大量内存的 Java 程序。我使用 jmap -histo:live 来追踪正在使用所有内存的对象。只有几种类型占用了大部分内存,其中超过 1M,但我无法判断引用的来源来自。 有什么方法可
我正在尝试使用 Android 电话管理器结束调用(新的调用筛选 API 不适合我)。我在网上找到了很多例子,都与我下面的代码非常相似。它编译得很好,但我在运行时遇到了 ClassCastExcept
我有一个用 Visual Studio 编写的小型 C++ dll(当然)。在解决方案代码中,我有一个仅包含版本信息的资源文件。 奇怪的是,当我将已编译的 dll 分片到 Visual Studio
所以我明白了什么是装箱和拆箱。它什么时候出现在现实世界的代码中,或者在什么例子中它是一个问题?我无法想象做这样的事情: int i = 123; object o = i; //
我们的 winforms 应用程序与 MS Word 交互,我们在生成文档并希望在应用程序前面的 Word 中显示它时运行此代码: [setup w as a Word interop object]
我最近已从Mac开发环境切换到Windows开发环境。我广泛用于Chrles代理来捕获网络流量,请求和响应详细信息。现在,我已经在Windows 8中安装了Charles Proxy 3.7版。但是,
假设我有一个带有电子邮件表单元素的表单;例如,当我在此字段中输入 1 个字母并按“确定”时,我会在工具提示中收到一条用我的语言(法语)显示的消息:“Veuillez saisir une adress
解释问题: 我现在已经尝试让 firebase_messaging 工作近一周。 我成功设置了一个旧版 Xcode APNS 应用程序,该应用程序在生成所有新证书等后工作。 但是使用 firebase
我想知道域实现的常见做法是什么。首先设计需要持久性或数据库模式的业务对象,然后从实体关系图(然后是 ORM poco*)生成它? 我要开始一个解决方案,但我想知道哪个是最优选的“模式”。 (*由 NH
我看到一个用 Node.js 构建的应用程序,但我不明白 describe 和 it 这两个词如何可用? 在浏览器控制台中,它 是一个函数,describe 抛出一个ReferenceError。 我
我看到一个用 Node.js 构建的应用程序,但我不明白 describe 和 it 这两个词如何可用? 在浏览器控制台中,它 是一个函数,describe 抛出一个ReferenceError。 我
所以我正在尝试学习 django 并遵循本教程:https://docs.djangoproject.com/en/1.10/intro/tutorial01/ 按照教程制作民意调查应用程序后,当我回
故事 我已经在 OpenGL 中编码大约一年了(在相同的硬件上),我最近才得到像上图中那样的工件。它们在短时间内(几分钟)连续运行我的程序后出现,并出现在任何地方:从写字板(见图片)到我的桌面和任务栏
我对下面名为test(第 3 行)的函数的使用感到好奇: var pattern = /[1-9][1-9]{5}/; var str = 'this is 248760!'; alert(patte
当我正在使用的 CodeIgniter 应用程序尝试特定的 UPDATE 操作时,我收到一个非常奇怪的数据库错误。 Active Record 调用是: $this->db->update('eval
我的目标是显示一张图片并将其慢慢带到前台(并在主要时间内延长)。我希望当我在 div/img 上检测到事件 onmouseover 时可以完成此操作。 目前,我使用隐藏属性,但我不喜欢它,因为它就像:
我有一个页面,我通过查询字符串发送了一个参数。 如果我使用 Request.QueryString["Format"] 检索它,我会遇到类型 'CD\DVD' 的问题。它作为“CD\\DVD”返回。重
我在 ListView 中遇到了一个奇怪的行为,只有一个 ListView,我的应用程序中有很多 ListView,但只有在这种情况下才会发生。 我会试着解释一下,当我滚动到底部时,好吧,滚动会停止。
我是一名优秀的程序员,十分优秀!