我有一个spring批处理作业,可以读取、转换和写入Oracle数据库。我正在通过CommandLineJobRunner实用程序运行作业(使用由maven shade插件生成的fat jar +依赖项);作业随后在中途失败,因为"java堆内存限制已达到“,作业没有被标记为失败,但仍然显示为已启动状态。
我尝试使用相同的作业参数重新运行作业(正如文档所建议的),但这给出了以下错误:
5:24:34.147 [main] ERROR o.s.b.c.l.s.CommandLineJobRunner - Job Terminated in error: A job execution f
我有一个spring批处理程序,它成功地启动了一些作业,这些作业试图使用HibernateItemWriter将数据写入SQL数据库。但是,hibernate代码会失败,因为事务从未启动:
org.hibernate.HibernateException: contains is not valid without active transaction
我配置了一个HibernateTransactionManager,我认为它应该处理这个问题,但问题仍然存在。也许我的spring batch配置还在关闭?以下是配置文件中的相关代码:
BatchConfig.java
@Configurati
在使用spring进行spring引导时,我们将得到一个包含所有春季批处理作业的胖jar,我希望能够通过指定作业名从命令行触发一个特定的作业,问题是spring批处理检测完成的作业,所以它只运行一次作业,使用--spring.batch.job.names=jobToRun可以指定作业名,问题是如何使它始终启动一个新实例,并且仍然能够使用这种机制传递要运行的作业名。
我没有配置JobLauncher,所以我猜它使用的是默认的JobLauncherCommandLineRunner,我目前配置的是:
@SpringBootApplication
@EnableBatchProcessing
pu
Spring Batch适合处理大量的单个文件吗?
Spring Batch似乎面向以数据为中心的工作。我需要从S3存储桶中拉出数百万个文件,解压缩它们,根据内容执行一些逻辑,然后调用web服务。
手动实现这一点很简单,但我不太喜欢在跟踪作业执行以及作业在失败之前进行了多长时间后重新发明轮子。Spring Batch似乎非常适合这种作业监控,但我不确定用它来做文件处理是不是太过分了。
我是springbatch的新手。我正在尝试创建一个批处理应用程序,并与批管理用户界面集成。我使用的版本是spring-batch-2.2.7和spring-batch-admin-1.3.0.M1。我可以使用junit运行我的作业,也可以在admin ui上查看我的所有作业。当我单击该作业时,我得到404错误。
Home Page -
http://myServer/ApplicationName
List of jobs link -
http://myServer/ApplicationName/batch/jobs
When i click on the job link url