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

ejb - Singleton lock mode when calling methods of same instance?

这是我的单身人士class:

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 实际上除了调用 class bar 的一个没有注解的私有方法,所以默认它应该有一个 LockType.WRITE 锁模式。

正如您从上述场景中猜测的那样,问题是: 对 foo 的调用实际上是并发的吗?

您的 bar 方法是私有的,不是商业方法。

默认LockType.WRITE仅适用于业务方法。