ejb - 调用同一实例的方法时的单例锁定模式?

时间:2015-09-07 12:21:22

标签: java singleton ejb

这是我的单身人士课程:

import javax.ejb.Lock;
import javax.ejb.LockType;
import javax.ejb.Singleton;


@Singleton
public class TestSingletons implements TestSingletonsRemote{

    @Lock(LockType.READ)
    @Override
    public void foo(int id) {
        bar(id);
    }


    private void bar(int id){
        // do stuff
    }

}

方法foo有一个LockType.READ,因此可以同时访问它。 foo实际上什么也没做,只是调用了没有注释的类bar的私有方法,所以默认情况下它应该有LockType.WRITE锁定模式。

正如您可能从上述情况中猜到的那样,问题是: 对foo的呼叫是否几乎同时发生?

1 个答案:

答案 0 :(得分:3)

您的LockType.WRITE方法是私有的,它不是商业方法。

默认{{1}}仅适用于商业方法。