春季交易流程

问题描述

需要了解lockData的所有三个流是否都在一个事务中。当流程返回到类 A1 时,我可以看到表职员上的类 C1 添加的行锁吗?

当前的流为:A1的实例调用B1的实例,而该实例又依次调用C1的实例

class A1 {
    @Transactional(propagation = Propagation.REQUIRES_NEW)
    public void lockData(){ 
        B1 classBObj = ctx.getBean("B1");
        boolean locked = classBObj.lockData();      
        //Check if lock on employee table is still there.
    }   
}

class B1 {
    @Transactional(propagation = Propagation.REQUIRED)
    public void lockData(){ 
        C1 classCObj = ctx.getBean("C1");
        classCObj.lockData();   
        return true;
    }
}

class C1 {  
    public void lockData(){ 
        executeQuery("select * from employee where emp_id=1 for update");
        return true;
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)