`
dfwang
  • 浏览: 95219 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JNDI Sample

    博客分类:
  • j2ee
阅读更多



    public class TestJbossJNDI {

    public TestJbossJNDI() {
    super();
    // TODO Auto-generated constructor stub
    }
    public static void main(String[] args) { try {
    Properties env = new Properties();
    //载入jboss的SPI相关参数,包括初始上下文工厂,服务URL,等等
    env.load(new FileInputStream("jbossJndi.properties"));
    env.list(System.out);
    //通过JNDI api 初始化上下文
    InitialContext ctx = new javax.naming.InitialContext(env);
    System.out.println("Got context");
    //create a subContext
    ctx.createSubcontext("/sylilzy");
    ctx.createSubcontext("sylilzy/sily");
    //rebind a object
    ctx.rebind("sylilzy/sily/a", "I am sily a!");
    ctx.rebind("sylilzy/sily/b", "I am sily b!");
    //lookup context
    Context ctx1=(Context)ctx.lookup("sylilzy");
    Context ctx2=(Context)ctx1.lookup("/sylilzy/sily");
    ctx2.bind("/sylilzy/g", "this is g");
    //lookup binded object
    Object o;
    o=ctx1.lookup("sily/a");
    System.out.println("get object from jndi:"+o);
    //rename the object
    ctx2.rename("/sylilzy/g", "g1");
    o=ctx2.lookup("g1");
    System.out.println("get object from jndi:"+o);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }

Results:
-- listing properties --
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
Got context
get object from jndi:I am sily a!
get object from jndi:this is g
程序中jbossJndi.properties文件的内容为:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=jnp://localhost:1099

上述示例程序在jboss服务器的jndi树上建立了几个上下文,并bind了几对象,
结果为:
-----------------------------
/sylilzy/sily
-----------------------------
/sylilzy/sily/b:I am sily b!
/sylilzy/sily/a:I am sily a!
/sylilzy/sily/g1:this is g
-----------------------------
分享到:
评论

相关推荐

    resin jndi配置

    -- Sample database pool configuration --> <!-- The JDBC name is java:comp/env/jdbc/test --> <jndi-name>jdbc/mysql</jndi-name> <url>jdbc:mysql://localhost:3306/test <user></user> <password></...

    JNDI数据源配置

    ### JNDI数据源配置详解 #### 一、引言 在现代企业级应用开发中,数据库连接管理是一项至关重要的任务。为了简化这一过程并提高应用程序的可移植性和可维护性,Java命名与目录接口(Java Naming and Directory ...

    hibernate 3.1+tomcat 5.5.x(配置jndi)

    ResultSet rs = stmt.executeQuery("SELECT * FROM sample_table"); while (rs.next()) { // 处理结果集 } rs.close(); stmt.close(); conn.close(); } catch (NamingException | SQLException e) { // ...

    ejb sample

    EJB提供了远程接口供客户端调用,如`testEJBProjectClient`可能就是该项目的客户端部分,它通过JNDI(Java Naming and Directory Interface)查找并调用服务器上的EJB服务。 5. **接口与实现**: EJB通常有三个...

    ejb-sample:ejb java ee 的示例实现

    - **JNDI(Java Naming and Directory Interface)**:EJB通过JNDI查找服务,项目中可能包含查找EJB的代码示例。 - **测试(Testing)**:为了验证EJB的正确工作,项目可能包含JUnit测试或集成测试,使用`@EJB`注解...

    Apache Geronimo 2.1_ Quick Reference.pdf

    Accessing the sample app through Apache web server 315 Running multiple server instances from a single installation 315 Clustered Helloworld-cluster application 317 Updating workers.properties 317...

    legacy-sample:易于遵循的 Java Web 开发

    9. **JNDI(Java Naming and Directory Interface)**:用于在分布式环境中查找和管理资源的服务,如数据库连接池。 10. **JTA(Java Transaction API)**:处理事务管理,确保在多步骤操作中的数据一致性。 在 ...

    java设计模式CatalogDAOFactory是典型的工厂方法

    `CatalogDAOFactory`是工厂方法的一个典型实例,它根据JNDI查找来动态加载`CatalogDAO`的具体实现,这使得系统可以根据数据库的不同类型使用不同的数据访问对象,而无需修改其他代码。 总的来说,工厂模式提供了一...

    ejb-sample-wildlfy:Wildfly 8.2.0 的示例 EJB 应用程序

    3. **轻量级会话bean**:允许创建无需JNDI查找的bean,更便于测试和使用。 4. **增强的定时器服务**:提供了在bean内部定义定时任务的能力。 5. **更好的CDI集成**:与Contexts and Dependency Injection (CDI)框架...

    canjs-tomee-sample:一个简单的演示项目,在服务器端使用 TomEE,在客户端使用 CanJS

    它提供了诸如JNDI、JTA、JPA、JMS和JavaMail等服务,使得开发者能够在不牺牲性能的前提下,享受到完整的Java EE功能。通过使用`mvn compile tomee-embedded:run`命令,我们可以快速启动一个内嵌的TomEE服务器,这极...

    java-servlet-连接mysql-数据库.docx

    在这个`Context`元素内部,我们添加了一个`Resource`元素来声明一个数据源,这里命名为`jdbc/sample_db`。数据源是用于管理数据库连接的工厂,它可以提供线程安全的连接池。在这个例子中,我们使用了Apache Commons ...

    javaservlet连接mysql数据库终稿.pdf

    总结,Java Servlet连接MySQL数据库的过程包括:配置服务器(Tomcat),在`server.xml`中定义数据源,配置Web应用的`web.xml`,在Servlet中通过JNDI查找并使用数据源来获取连接。这种方式有利于管理资源,提高性能,...

    axisJMSSample

    ### Axis JMS Sample详解 #### 一、概述 在IT领域中,Axis 是一个非常流行的开源框架,用于创建和调用Web服务。本篇将基于`axisJMSSample`这一主题,详细介绍如何利用JMS(Java消息服务)作为传输层与Axis结合使用...

    javaservlet连接mysql数据库.pdf

    实现Servlet类,通过`@Resource`注解注入数据源,然后使用JNDI查找来获取连接: ```java import javax.annotation.Resource; import javax.sql.DataSource; import java.sql.Connection; import java.sql....

    Tomcat的服务器配置文件server.xml讲解.pdf

    - <Context path="/sample" docBase="sample" ...>:定义了一个Web应用上下文,路径为/sample,文档基础为sample目录。 - <Resource ...>:定义了一个资源,这里是一个数据库连接资源(DataSource),用于连接名为...

    EMSQueuejava实例_JinBaotao.pdf

    - `QUEUE_NAME`:待发送消息的目标队列名称,例如"queue.sample"。 - `SECURITY_PRINCIPAL` 和 `SECURITY_CREDENTIALS`:EMS服务器的用户名和密码,用于身份验证。 接着,程序初始化了JMS上下文、队列连接、会话和...

    JDBC Developers Guide Reference.rar

    (and their usage of JNDI), connection pooling functionality (a framework for connection caching implementations), and a sample connection caching implementation provided by Oracle. Chapter 16, ...

Global site tag (gtag.js) - Google Analytics