理解JNDI、环境命名上下文(ENC)与注入机制
1. 环境命名上下文(ENC)
在企业级JavaBean(EJB)开发中,每个EJB容器都有一个内部注册表,称为企业命名上下文(ENC),它通过JNDI(Java命名和目录接口)实现。这个注册表可以被看作是EJB容器的个人地址簿,记录了它想要在其业务逻辑中查找和使用的各种Java EE服务的地址。这些服务包括但不限于数据源、JMS连接工厂、EJB引用等。
1.1 ENC的作用
ENC的主要作用是提供一个私有的命名空间,用于存储和检索EJB所需的资源和服务。这不仅提高了代码的安全性,还增强了系统的灵活性和可维护性。通过ENC,开发人员可以在不修改代码的情况下,轻松更改EJB的配置和依赖项。
1.2 ENC的使用场景
ENC广泛应用于以下几种场景:
- 资源查找 :通过JNDI查找数据源、JMS连接工厂等资源。
- EJB引用 :查找和引用其他EJB。
- 环境条目 :配置和读取环境变量。
2. 全局JNDI
EJB 3.1规范引入了一种可移植的语法,用于在全局JNDI下查找无状态会话Bean(SLSBs)和有状态会话Bean(SFSBs)视图。这种语法确保了不同供应商的实现具有一致性,从而提高了应用程序的可移植性。
2.1 可移植的JNDI语法
可移植的JNDI语法如下:
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



