【问题标题】:Avoid persisting to Spring Batch Metadata tables避免持久化到 Spring Batch 元数据表
【发布时间】:2019-10-23 01:34:57
【问题描述】:

我正在开发一个 Spring Boot Batch 应用程序。我在生产中遇到批处理元数据表的问题。它给元数据表更新带来了死锁。我有两个疑问

1) 是否可以绕过元数据表数据插入?但仍需要将数据插入我的应用程序数据库

2) 如果上述方法不可行,是否可以将元数据表条目仅添加到单独的数据源?

【问题讨论】:

标签: hibernate spring-boot spring-batch


【解决方案1】:

无论死锁问题是什么,您都应该解决。任何例外,StackTrace 都会有所帮助。

1) 是的。有。但更好地使用元数据表。如果您坚持,请参阅下面的代码。这样做,spring batch 将使用 In Memory Map 版本进行作业回购。

public class BatchConfiguration extends DefaultBatchConfigurer {
    @Autowired(required = false)
    public void setDataSource(DataSource dataSource) {
       System.out.println("Not doing anything as we want no dataSource on the batch infrastructure stuff.");
       //super.setDataSource(null); //NOOP
    }

    // your other job and step bean configs.
}

【讨论】:

  • 我已经尝试过上述方法。现在应用程序根本没有将数据插入任何表(元数据和业务表。它正确地从表中读取)
  • 可能晚了,但如果你能发布批处理作业的配置,那就太好了。
猜你喜欢
  • 2020-02-23
  • 2023-04-06
  • 2018-08-02
  • 2016-08-19
  • 1970-01-01
  • 2016-11-09
  • 1970-01-01
  • 2021-07-09
  • 1970-01-01
相关资源
最近更新 更多