Java,EJB,所有方法的并发锁

Vic*_*rin 2 java concurrency ejb locking

我有两种方法的EJB

@Singleton(name = "RatingCalculatorEJB")
public class RatingCalculatorBean {

    public void countRating() {}

    public void countRating(int someID) {}
}
Run Code Online (Sandbox Code Playgroud)

默认情况下,所有方法都具有并发锁:@ Lock(LockType.WRITE)如果任何线程调用方法 - 另一个线程将等待调用此方法.

但是我需要更多 - 如果一个线程调用任何方法,那么调用EJB的任何方法的所有其他线程都应该等待.我有办法吗?

@Stateless bean的相同问题

Veg*_*ard 9

@ Lock(LockType.WRITE)锁定bean的所有EJB方法,因此它已经完成了你想要的.

无状态bean一次只处理一个客户端,因此并发应该很少成为问题.