警告:JPA不支持自定义隔离级别,因此在启动作业时可能不会锁定



在启动我的应用程序(Spring Boot、Spring Data JPA、Spring Batch、Postgres DB(时,我收到这样的警告:

2020-03-04 11:53:24.559  WARN [-,,,] 25743 --- [           main] o.s.b.a.batch.JpaBatchConfigurer         : JPA does not support custom isolation levels, so locks may not be taken when launching Jobs

我对弹簧引导隔离级别进行了一些研究,我们有:DEFAULTREAD_COMMITTEDREAD_UNCOMMITTEDREPEATABLE_READSERIALIZABLE

根据警告,我理解JPA不支持这一点,但只对给定的DB使用DEFAULT,在我的情况下,对于Postgres是READ_COMMITTED

我还读到Spring批处理事务的默认隔离级别是SERIALIZABLE,以防止同一作业实例同时执行。

有人能解释一下吗?我什么时候会担心这个警告?我不知道我是否应该做点什么。

READ_COMMITTED应该可以很好地与Postgers配合使用。来自Spring Batch文档的JobRepository部分的Transaction Configuration:

该方法的默认隔离级别是SERIALIZABLE,这是非常激进的:READ_COMMITTED也可以正常工作

所以我相信忽略此警告是安全的。

最新更新