我正在尝试对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没有绑定(bind)到每个线程,我应该工作的Domain.withTransaction却没有。
有什么帮助吗?
最佳答案
它与集成测试的设置方法有关,在该方法中,我将数据引导到内存中。一旦将其移至Bootstrap,线程的关闭即可绑定(bind)休眠 session !不管怎么说,多谢拉!!
关于hibernate - GORM GPARS集成测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12377140/