gpt4 book ai didi

java - Spring Tx 错误

转载 作者:太空宇宙 更新时间:2023-11-04 07:31:10 25 4
gpt4 key购买 nike

java.lang.IllegalStateException: Existing transaction detected in JobRepository.
Please fix this and try again (e.g. remove @Transactional annotations from client).

请针对上述错误提出任何建议。我正在使用 Spring Batch 框架读取 csv 并将其保存到数据库。

最佳答案

如果您从现有事务中执行jobLauncher.run(job,jobParameters),您将收到此错误。 (其原因在于 Spring Batch 处理事务的方式以支持数据与执行的一致性......)

这里有一些解决方法;

  • 如果您使用 JTA,并且您的 JTA 实现支持它,请使用 @Transactional(propogation=NOT_SUPPORTED) 注释您的调用方法 - 这将在调用此 run 方法时将事务标记为“挂起”
  • 不要从事务中调用 run 方法 - 例如,如果您使用 Spring Integration,则可以将 Spring Batch Integration 的 JobLaunchingMessageHandler 与队列或任务执行器 channel 结合使用

关于java - Spring Tx 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17656924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com