我正在尝试集成测试 Gorm 悲观锁,并通过多线程同时模拟来自多个服务器的访问,但在每个线程中我都没有得到预期的结果。这是我的代码:
@Test
void testLockInBetweenCheck() {
def tid = IdocTidInfo.findByTid("AC10870D0E12504F3E88D575") //here tid is not null
withPool{
[1,2].eachParallel{ tids ->
IdocTidInfo.withTransaction{ tid ->
def t = IdocTidInfo.findByTid("AC10870D0E12504F3E88D575") // here is t is null
我不知道发生了什么,我认为我的 Hibernate sessionFactory 没有绑定到每个线程,并且我应该工作的 Domain.withTransaction ,但它没有。
有什么帮助吗?