【发布时间】:2016-03-24 21:59:31
【问题描述】:
无状态 EJB 对象是池化的。当两个客户端同时使用同一个 bean 时,池中会创建两个对象,每个客户端一个。如果客户端尝试使用 bean,但已达到池中允许的最大 bean 数量并且没有 BUSY bean 可用,则客户端请求不是服务。 但是,在这种情况下究竟会有什么行为呢?会抛出一些异常还是别的什么?
【问题讨论】:
标签: java jakarta-ee ejb
无状态 EJB 对象是池化的。当两个客户端同时使用同一个 bean 时,池中会创建两个对象,每个客户端一个。如果客户端尝试使用 bean,但已达到池中允许的最大 bean 数量并且没有 BUSY bean 可用,则客户端请求不是服务。 但是,在这种情况下究竟会有什么行为呢?会抛出一些异常还是别的什么?
【问题讨论】:
标签: java jakarta-ee ejb
我已经找到答案了:
如果 EJB 类的所有实例都处于活动状态并且
max-beans-in-free-pool已到达,请求 EJB 类的新客户端将被阻止 直到一个活动的 EJB 完成一个方法调用。如果交易时间 out(或者,对于非事务性调用,如果经过五分钟), WebLogic Server 为远程客户端或远程客户端抛出RemoteExceptionEJBException用于本地客户端。
【讨论】: