我正在使用EJB 3构建用于数据处理的小框架 我有实体访问对象层,它从数据源中提取。现在我需要某种工厂,它会给我正确的bean来查询实体。
通过JNDI本地bean接口作为参数传递到另一个本地bean是否安全?将来自此本地接口的每个方法调用发送到同一个bean,或者每次调用都将传递给@EJB
场合中的不同无状态bean吗?
答案 0 :(得分:1)
您无法保证使用JNDI会为您提供相同的EJB实例,因此它与使用@EJB
或@Inject
的依赖注入相同。 @EJB
和JNDI查找之间的唯一区别是SFSB。在这种情况下,每次使用JNDI查找时,都需要容器为您提供新的SFSB实例。
但是,在我看来,在EJB 3.x和依赖注入时代,更容易理解@EJB
/ @Inject
注释。无需传递任何对象引用,只需使用@EJB
在每个EJB中定义依赖项(EJB协作者)。