问题标签 [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 投票
5 回答
12207 浏览

java - Spring Batch 有哪些替代方案来处理排队作业?

我一直在寻找 Spring Batch 来解决每个作业涉及大量数据的批处理场景。还有其他解决方案可以与 Spring Batch 竞争吗?在 Java EE 环境中使用。

0 投票
2 回答
810 浏览

java - Spring Framework 可以用于批处理应用程序吗?

我的公司正在为我们的 Java 框架切换到 Spring,据我了解,它会很好地工作,但我们也有许多 Java 批处理应用程序*。Spring 是否对运行批处理应用程序有足够的支持?spring 的哪些特性在这种环境下会有用,而根本不起作用?

* 运行后端进程的 Java 命令行程序。

0 投票
8 回答
38202 浏览

spring-batch - 如何开始使用 Spring Batch?

我正在尝试学习Spring Batch,但启动指南非常混乱。评论喜欢

通过检查 org.springframework.batch.sample 包(在 src/main/java 中)中的单元测试和 src/main/resources/jobs 中的配置,您可以很好地了解如何设置作业。

并不完全有帮助。此外,我发现示例项目非常复杂(17 个非空命名空间和 109 个类)!有没有更简单的地方开始使用 Spring Batch?

0 投票
2 回答
9853 浏览

java - Spring:获取 FactoryBean 对象而不是 FactoryBean.getObject()

简短的问题:如果我有实现 FactoryBean 接口的类,我如何从 FactoryBean 对象本身而不是 FactoryBean.getObject() 中获取?

长问题:我必须使用几乎不使用 FactoryBean 接口的 3 方基于 Spring 的库。现在我总是必须配置 2 个 bean:

实际上,名称为“XYZ”(与“XYZ2”相比)的bean的定义永远不会改变,但由于工厂性质,我必须复制每个配置的代码。名称为“aName”的 bean 的定义总是新的(即每个配置都有自己的 objectContext 值)。

我想简化配置有一个工厂 bean(删除“XYZ2”并摆脱“aName”的链接):

不幸的是,这并不像我想象的那么简单。我想在运行时将工厂(即示例中的 XYZ bean)与必要的对象(即“aName”、“aName2”)粘合起来。该方法不起作用,因为当我向 Spring 询问 FactoryBean 对象时,它返回给我 FactoryBean.getObject() 由于缺少 itemReader 值,当时无法实例化。

我希望 SpringSource 预见到我的情况,我可以在运行时调用一些家庭“挂钩”FactoryBean.getObject() 以提供所有必要的属性。

另一个让我有点不安的复杂性是工厂链(Factory1 从 Factory2 获取一个我必须在运行时“挂钩”的对象)。

任何想法将不胜感激。

0 投票
2 回答
9265 浏览

java - Spring Batch:java.io.IOException:结合 MultiResourceItemWriter 和 FlatFileItemWriter 时流关闭异常

我有一个 Spring Batch 进程,它在数据库中获取一组行并从这些行创建许多平面文件,每个文件 10 行。为此,我创建了一个 Spring Batch 流程,类似于:

上面的示例从平面文件中读取并输出到平面文件(以显示问题)。请注意块中的 commit-interval=2,以及 MultiResourceItemWriter 中的 itemCountLimitPerResource=2。

HeaderFooterCallback 执行以下操作:

我需要能够准确指定文件中出现的行数。

对于以下输入文件:

我希望输出有两个文件,


出.1:

出.2:

当我以 commit-interval=2 运行时,出现异常:

我认为这是一个错误。奇怪的是,文件如下:

出.1:

出.2:

如果我在输入文件中有两行,一切正常,但多于两行不起作用。如果我将提交间隔更改为 200,那么我会在一个文件中得到三行,这不是想要的行为。

如果有人能告诉我我做错了什么,或者如果不是如何解决这个问题,我将非常感激。

0 投票
3 回答
3841 浏览

jakarta-ee - Spring Batch 无资源 JobRepository

我将 Spring Batch 用于执行大量批处理操作的系统。
我正在将 SimpleJobRepository 与内存 DAO 一起使用。
我想知道是否有办法避免使用 JobRepository?类似于无资源事务管理器的东西?
我问的原因是系统应该在不重新启动的情况下持续运行,我对它会消耗的内存有些担心。
我知道我可以使用基于数据库的 JobRepositry,但坦率地说,我真的根本不需要。

如果没有办法这样做,如果有人可以向我保证内存消耗问题,我将不胜感激。

谢谢。

0 投票
1 回答
365 浏览

java - 将 Spring Batch 从 1.1.3 转换为 2.0.0

我正在尝试将 Spring Batch 作业从 1.1.3 版转换为 2.0.0 版,并且遇到了许多错误。设法解决了其中的大部分问题,但没有解决以下问题:在我的 QuartzBatchLauncher 中,代码调用“new ClassPathXmlApplicationContextJobFactory(bean, path, parent)”并且我没有运气发现什么是 2.0 等价于这个类。感谢任何为我指明正确方向的帮助。谢谢。

0 投票
12 回答
113763 浏览

spring-batch - 我们如何在 Spring Batch 中 Job 的不同步骤之间共享数据?

深入研究 Spring Batch,我想知道我们如何在 Job 的不同步骤之间共享数据?

我们可以为此使用 JobRepository 吗?如果是,我们该怎么做?

有没有其他方法可以做/实现同样的事情?

0 投票
2 回答
54126 浏览

java - 如何在 Spring Batch 中设置多线程?

我已经成功建立了一个教程 Spring Batch 项目。我真的很想知道是否可以在“春季级别”使其成为多线程。

我想要的基本想法是列出任务或任务步骤,并让它们由独立线程拾取和处理,理想情况下是在限制为“n”个线程的池中。

这可能吗?如果是这样,怎么做?有人可以从我目前所处的位置引导我到那个点吗?

我的简单项目来自本教程。它基本上具有不同的任务,可以将消息打印到屏幕上。

这是我当前的 simpleJob.xml 文件,其中包含作业详细信息:

我的 appContext 包含作业存储库 bean ( SimpleJobRepository)、事务管理器 ( ResourceLessTransactionManager) 和作业启动器 ( SimpleJobLauncher)。如果需要,我也可以提供此代码,我只是不想让这篇文章陷入大量 XML 的困境。

非常感谢您的帮助!

0 投票
2 回答
3985 浏览

java - 春季批量验证

Spring Batch 框架是否提供其特定的验证机制?
我的意思是,如何指定验证 bean?

spring Validator 是否可以接受 ,请参见此处的示例

我的验证是 @NamedQuery 的结果 - 如果查询返回结果,则验证正常,否则 - 错误。