@EJB 注释与 JNDI 查找

jah*_*roy 4 dependency-injection ejb ejb-3.0 jsf-1.2 jakarta-ee

是否存在使用 JNDI 比使用注释注入无状态会话 bean 更好的情况@EJB

我们将 JSF 1.2 与 Sun Application Server 9.0_01 结合使用。

我们的团队正在讨论在托管 Bean 中使用 SLSB 时哪种方法更好。

我已阅读以下问题,但想知道是否存在首选查找的情况。

ewe*_*nli 5

是否存在使用 JNDI 比使用 @EJB 注释注入无状态会话 bean 更好的情况?

没有哪种情况下它是更好的,但只有几种情况下它是必要的:

  • 当编译时未知要查找的名称时(我认为这是糟糕的设计,但这是另一个问题)
  • 当不支持注释时,例如在常规的非托管帮助器类和少数其他情况下(我们可以再次争论在这些类中依赖 EJB 是好是坏)。

如果要查找的名称是常量并且可以注入,则首选@EJB注释:

  • 让测试更容易
  • 减少计算本地/全局 JNDI 名称的麻烦