问题标签 [spring-batch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
146710 浏览

java - 如何在 Spring Batch 中从 ItemReader 访问作业参数?

这是我的一部分job.xml

这是项目阅读器:

这就是 Spring Batch 在运行时所说的:

这里有什么问题?在哪里可以阅读更多关于 Spring 3.0 中这些机制的信息?

0 投票
1 回答
1407 浏览

java - PropertyPlaceholderConfigurer 和依赖

在下面的代码片段中

“取决于”的意义是什么以及如何操纵 ${ENVIRONMENT} 的值?

Environment是指系统环境变量中我的系统变量吗?

0 投票
1 回答
11204 浏览

java - 来自Web ui的Spring批处理作业?

有没有人工作过或有任何从 Web UI 执行弹簧批处理作业的经验。目前我已经编写了一些将数据从 CSV 复制到 DB 表的作业,它在命令提示符和 JUnit 测试中运行良好。但是现在这些工作必须通过web来执行,JSF被用作前端控制器框架。在这种情况下,任何关于最佳实践的建议都会非常有帮助。

谢谢!

0 投票
2 回答
2931 浏览

java - SpringBatch 中的 MapReduce/Aggregate 操作

是否可以在 SpringBatch 中进行 MapReduce 样式的操作?

我的批处理作业有两个步骤。第一步计算平均值。第二步将每个值与平均值进行比较以确定另一个值。

例如,假设我有一个庞大的学生成绩数据库。第一步计算每门课程/考试的平均分数。第二步将个人分数与平均分数进行比较,以根据一些简单的规则确定成绩:

  1. A 如果学生成绩高于平均水平
  2. B 如果学生成绩是平均
  3. C 如果学生成绩低于平均水平

目前我的第一步是选择平均值并将其写入表的 Sql。第二步是将平均分数与个人分数连接起来并使用处理器来实现规则的 Sql。

有类似的聚合函数,如 avg,min 在 Steps 中使用了很多,如果这可以在保持 Sqls 尽可能简单的处理器中完成,我真的更喜欢。有没有办法编写一个处理器,它根据分组标准聚合多行的结果,然后将平均值/最小值写入输出表一次?

这种模式重复了很多,我不是在寻找一个使用 Sql 的单处理器实现,它可以同时获取平均分数和个人分数。

0 投票
1 回答
6188 浏览

spring-batch - 写入时附加的 FlatFileItemWriter

我怎么能创建一个 itemWriter 而不是清空文件然后写入它,以简单地附加写入必须写入的内容。

我正在使用 FlatFileItemWriter。

0 投票
2 回答
1215 浏览

mysql - 当表列太小时如何处理来自 Spring JDBC 的批量 SQL 插入

我正在尝试将大量数据批量插入 MYSQL 数据库,并且需要有关如何处理表列不够大以应对传入数据大小的情况的建议。

由于数据集非常大(超过 1Gb),我正在将输入数据流式读取到内存中。在某些时候,我“刷新”数据并尝试使用 jdbcTemplate.batchUpdate 将其插入表中。目标表的所有列都是 VARCHAR,并且假定大小为 50。这对于绝大多数数据来说已经足够了。但是,由于偶尔到达的数据大于 15,因此 INSERT 将失败(数据对于列来说太长)。

解决这个问题的最佳方法是什么?我不想盲目地使所有表列变大,因为这似乎是一种不能很好扩展的策略。由于数据的大小,我也不想预先解析数据。那么我应该等待失败,然后执行适当的“ALTER TABLE”并重新提交数据吗?是否可以缓存失败的项目,确定所需的列大小并仅重新提交失败的项目?

我正在寻找有关执行此操作的最佳方式的指针和一般建议。

谢谢。

0 投票
1 回答
1530 浏览

java - Spring Batch输出文件的格式?

在春季批处理示例中,有很多将数据从 csv 格式复制到 db 表、将 db 表复制到 csv 等的示例。我想知道是否有一种方法可以让用户选择特定的作业,例如从 csv 复制数据文件并指定目标格式,即 excel、db、pdf。因此,作业的目标格式取决于用户输入。?

谢谢!塔伦萨普拉

0 投票
1 回答
319 浏览

encoding - 写入 .txt 后 EOL 字符错误

我使用spring-batch 2.1.8 release。根据批处理是在 windows 还是 unix 下执行,会有不同的 EOL 字符。在 unix 上,生成的文件只有CR- 在winsows 上,两者都有CRLF.

我配置了我的写入程序块,以便它编码输出资源有一个窗口,如下所示:

但没有先生。Unix 仍然只生成CR. 它在一个带有 spring、控制器和模型的 j2ee 经典应用程序的上下文中。所以我可以在批处理完成后编写代码,然后提示用户下载文件。

我究竟做错了什么?

0 投票
1 回答
5952 浏览

java - 如何使用需要 2 个参数且其中只有一个参数存储在列表中的查询进行批处理更新

我使用 Spring-JDBC 在我的 MySQL 数据库中插入用户的 facebook 好友列表。

我有一个包含用户 uid 的最终 Long 和一个包含他的朋友列表的 List。

我的查询是:

我使用 SqlParameterSourceUtils 创建批处理参数

我使用以下方法执行插入:

这里的问题是列表只包含查询所需的第二个参数。

我是否必须修改friendsList 才能将另一列添加到其中,还是有其他方法?

谢谢!

0 投票
1 回答
967 浏览

java - 使用 Spring Batch 从数据库表中提取部分内容

我有一个带有自动递增整数主键的大型数据库表,我每天使用 Spring Batch 创建表的提取以供其他系统使用。

我正在使用持久化上一个提取中放置的最高 id 的方法来设置下一个提取的起点(即在 sql 中,其中 id > last_id_extracted)。我目前正在使用 JDBC 对使用普通旧 Java 的 next_id 表执行此操作。

有没有更好的方法来使用 Spring Batch 处理这种提取边界。大概这是批处理中非常常见的场景,Spring Batch 可以提供帮助吗?

谢谢