【问题标题】:Is it allowed to pass-through an ejb references to a used class of an ejb?是否允许将 ejb 引用传递给已使用的 ejb 类?
【发布时间】:2011-07-04 09:26:26
【问题描述】:
我有一个 EJB3 无状态会话 bean,它使用其他一些 ejb 来完成它的工作。由于我不想在 ejb 类本身中拥有所有逻辑,因此我创建了一些解决问题的类。这些类由 ejb 调用。为了在这些类中拥有引用的 ejb,我创建了一个上下文对象,其中包含传递给类的注入的 ejb 引用。
我的问题:这是否允许将 ejb 引用存储在简单的对象字段中,或者我必须使用一些特殊的 ejb 引用字段?乍一看,我看不出一个原因,因为一切都在一个线程中处理一个事务。
【问题讨论】:
标签:
java
reference
ejb-3.0
【解决方案1】:
您可以毫无风险地传递这些 EJB 引用并将它们存储在这些辅助类中。
不过,EJB 规范鼓励您通过 EJB 实现系统的所有逻辑。因此,根据 EJB 设计理念,您应该将这些“辅助”类也声明为 EJB(它们最终执行业务逻辑)并向其中注入所需的 EJB 引用以减少耦合(特别是如果以前的 EJB 甚至不使用注入的 EJB)。
同样,如果您不这样做而只是手动传递引用,则不会出现技术问题。