【问题标题】:What's the relation between CDI and JNDI service?CDI和JNDI服务有什么关系?
【发布时间】:2016-02-25 16:13:44
【问题描述】:

据我了解,“pre-CDI”EJB 和资源注入解决方案(@EJB@Resource 和其他,要清楚)使用 JNDI 服务来定位容器“已知”的对象。 JNDI 注册,然后在需要的地方注入它们。

相反,CDI 依赖 bean-discovery-mode 参数(ALLANNOTATED)来发现需要管理的 bean。但是这个过程实际上是如何进行的呢?运行时扫描...什么? JNDI 完全不参与吗?

我觉得我对整个机制有些问题......

【问题讨论】:

标签: java jakarta-ee dependency-injection cdi jndi


【解决方案1】:

bean 发现过程在CDI specification 中有详细描述。基本上,CDI 容器会扫描 bean 部署档案以查找具有某些注释的类。

完全不涉及 JNDI。与 EJB 不同,CDI bean 通常不能通过 JNDI 查找。

只有BeanManager 本身可以在java:comp/BeanManager 的名称下查找,但这几乎不需要,除非您需要从非托管代码访问托管bean。

【讨论】:

  • 此外,由于 CDI 1.1 有 CDI 实用程序类,因此无需在非托管代码中获取 BeanManager
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-23
  • 2015-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多