【发布时间】:2017-08-31 16:59:08
【问题描述】:
当我有一个使用单例 JPA DAO 的无状态服务类并且许多客户端同时请求相同的方法时,EJB 是否会堆积剩余的请求?等待是否有时间/请求列表大小限制?它是否知道一次只有一个无状态者可以访问 DAO?如果是,它是如何做到的?
我认为如果发出 100 个请求,则实例化 100 个无状态 bean,但只有一个 DAO 实例。这会引发异常还是会发生某种管理?拥有 DAO 确实会使无状态服务池变得无用吗?
最后,什么是正确行为所必需的,我的意思是,无状态 bean 排队等待单例 DAO 的片刻?
【问题讨论】:
-
为什么 DAO 是单例的?将其设为@Stateless 也是正常的。然后瓶颈将成为连接池的大小。
-
我将 DAO 设计为单例只是因为第一次在教程操作上看到 JPA EJB DAO 实现也是这样做的。从那以后我开始思考这个问题,这些答案让我确定我不会再遵循这种模式了
标签: jakarta-ee ejb