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

标签 java concurrency locking ejb

我有两种方法的 EJB

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

    public void countRating() {}

    public void countRating(int someID) {}
}

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

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

@Stateless beans有同样的问题

最佳答案

@Lock(LockType.WRITE) 锁定 bean 的所有 EJB 方法,因此它已经执行了您想要的操作。

无状态 Bean 一次只能处理一个客户端,因此并发性很少会成为问题。

关于Java、EJB、所有方法的并发锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13387587/

相关文章:

powershell - 如何同时安装 Powershell 模块?

java - Camel netty组件: Failed to create selector

java - 如何读取 txt 文件的每一列,并将它们放在单独的数组中?

cocoa-touch - NSStream run loop调度使用GCD带来的并发问题如何处理?

java - 如何在并行流上使用java map-reduce组合器

c - 使用读写锁在 pthreads 哈希表中读取性能不佳

python - python 中的互斥装饰器

android - 如何防止 Android 应用程序锁定?

Java:使用 REST 服务下载 CSV 文件

java - 巨大的 LinkedList 导致 GC 开销限制,是否有其他解决方案?