如何在EJB 3.1中缓存EJB远程接口?

Man*_*aik 2 java ejb java-ee-6 ejb-3.1 jakarta-ee

有没有办法在客户端缓存对远程 EJB 的引用?

在 EJB 2.x 中,它是通过缓存EJBHome来实现的。

我们在EJB 3.x中是否有任何类似的功能来缓存EJB 远程接口,该接口将在每次使用时提供 EJB(无状态会话 bean)的新实例?(在EJB 2.x中,当我们在EJBHome上调用create()方法时,我们会获得 EJB 的新实例)

Bre*_*ail 5

您不需要无状态会话 bean 的新实例,因为它们是无状态的。客户端中的引用是无状态代理,因此 EJB 容器将为每个请求获取无状态 bean 的新(或池化)实例,并在方法完成时销毁(或返回到池中)该实例。对于 EJB 3,您可以简单地缓存查找结果。字段注入隐含地鼓励了这一点@EJB,它鼓励您将 EJB 引用存储在简单的字段中。