zoukankan      html  css  js  c++  java
  • JNDI

    J2EE

    EJB Enterprise Java Bean

    Bean是一个Java类,任何具有某种特性和事件接口约定的Java类都可以使一个bean

    J2EE 中包括以下技术:
    Enterprise JavaBeans (EJB) 技术
    Java Interface Definition Language (IDL)
    Java Message Service (JMS) API
    Java Naming and Directory Interface (JNDI)
    Java Remote Method Invocation (RMI) 和 Object Serialization
    Java Servlet API
    Java Transaction API (JTA)
    Java Transaction Service (JTS)
    JavaServer Pages (JSP) 技术
    JDBC 数据库访问 API

     

    EJB 应用程序是如何使用 JNDI 的呢?JNDI 的主要用途是检索对 EJB 组件的引用。因为 EJB 框架是一个分布式对象框架,所以 EJB 应用程序不应当假定 EJB 组件的位置。JNDI 就是获取对 bean 的起始引用的一种机制。当一个 bean 安装到一个 enterprise bean 服务器上时,一个被称为 EJB 容器的软件组件就负责创建各个名称-对象绑定,使所需的 Java 类文件能使用这个 bean。应用程序使用 JNDI 的查找方法来检索对象引用,如下例所示:
    Context initialContext = new InitialContext( );
    CartHome cartHome = javax.rmi.PortableRemoteObject.narrow(
    initialContext.lookup("applications/shopping_cart"), CartHome.class);
    应用程序有责任知道外部名称,应用程序就是通过这个名称才得以引用一个 enterprise bean,并通过 JNDI 来获取对该 bean 的引用的。

     

    J2EE   上下文环境变量前缀,一般有如下几种:
          java:/comp/env/jdbc
          java:/comp/env/url
          java:/comp/env/mail
          java:/comp/env/jms 
    在部署和运行EJB中,容器将在java:/comp/env/处创建一个JNDI上下文环境,在该环境中,可以查找获得
    在ejb-jar.xml中定义的变量,通过在程序中用JNDI的lookup()方法查找java:/comp/env/后面的变量名得到的.这些值是只读的,也只供本地J2EE组件使用,而客户机无法获取这些值.

    java:comp/env是组件的JNDI上下文的名字.

    (实际上这个上下文也作为一种资源来处理了,资源查找的过程可以是这样:

    jndictxt = ctxt.lookup(“java:comp/env”)然后用这个jndictxt来查找资源,

    ref = jndictxt.lookup("jdbc/SavingsAccountDB")。)

    jdbc/SavingsAccountDB是资源引用的JNDI名(The jdbc/SavingsAccountDB string is the JNDI name for the resource reference,这句话可能意味着资源引用实际上也跟资源一样处理成一种JNDI绑定对象了,但是实际上应该不是这样,因为在部署描述符中它是引用名元素。因为译者也不是高手,所以这里的具体实现细节有待读者自己研究了:)所以JDBC的DataSource对象的JNDI名就存储在java:comp/env/jdbc的上下文子对象中。(组件运行环境的上下文层次需要进一步了解)

  • 相关阅读:
    [原创]什么是安全性测试
    [原创]如何有效的考核测试人员
    [原创]MySql官方压力测试工具Mysqlslap
    [原创软件测试工作技能
    [原创]如何有效构建测试环境
    [原创]常见系统测试类型总结
    [原创]Kjava手机顽童模拟器
    [原创]浅谈测试人员提交缺陷记录
    [原创]Windows/Unix 资源性能计数器
    [原创]戴明PDCA方法
  • 原文地址:https://www.cnblogs.com/javahuang/p/2850323.html
Copyright © 2011-2022 走看看