java:comp/env---环境命名上下文介绍

来源:互联网 发布:网络人才缺口 编辑:程序博客网 时间:2024/06/09 23:32

WHY?为什么使用ENC?

需求:把一个EJB的Jar包部署到两台Server,而这两台Server共享一台JNDI名字空间,此时问题就出来了。因为JNDI名字空间要求JNDI名字必须唯一。

解决办法:使用ENC--环境命名上下文介绍查找,将可以避免这个冲突,EJB或者J2EE应用的移植性也提高了。

WHAT? 什么是ENC?

java:comp/env 是环境命名上下文(environment naming context(ENC),是在EJB规范1.1以后引入的。  ENC是一个引用,引用是用于定位企业应用程序的外部资源的逻辑名。引用是在应用程序部署描述符文件中定义的。在部署时,引用被绑定到目标可操作环境中资源的物理位置( JNDI 名)。使用ENC是把对其它资源的JNDI查找的硬编码解脱出来,通过配置这个引用可以在不修改代码的情况下,将引用指向不同的EJB(JNDI)。

ENC的标准JNDI CONTEXT是:java:/comp/env 。

HOW? 如何使用ENC?

在配置的JDNI如test/test1前加上java/comp/env,
// Obtain the application component's ENC   Context iniCtx = new InitialContext();   Context compEnv = (Context) iniCtx.lookup("java:comp/env/test/test1");   



原创粉丝点击