我的Spring Boot应用程序中的服务方法被多个线程访问,其中一个线程正在修改数据库中的数据。
当其他线程在第一次提交之前访问数据时,它将不会获得早期线程的数据库更新。
在stackoverflow上长时间搜索后,我已经使用了以下注释来相关方法。
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.READ_UNCOMMITTED)
public void accept(Event<String> event) {}
但是未能达到期望的结果。第二个线程中未检索到未提交的更改。
请在此问题上给我帮助。
我已经使用了实体管理器flush()方法,但没有成功。
READ UNCOMMITTED
对此无济于事。您正在写入/读取什么类型的数据,为什么需要在提交之前访问它? - Kayaman