• Java命名和文件夹服务(JNDI)


    JNDI(Java Naming and Directory Interface)既java命名和服务接口。JNDI是JAVA平台的一个标准扩展。提供了一组关于接口、类和命名空间的概念。

    1.概述

    在分布式系统在JNDI通常被用来获取共享的组件和资源。它使用命名和文件夹服务讲名称与位置、服务、信息、资源关联起来。

    当中的命名服务提供名称-对象的映射,文件夹服务提供有关对象的信息。并提供定位这些对象所需的搜索工具。

    2.原理

    JNDI是一种命名和文件夹服务。它提供一套有用命名和文件夹service的接口,用户能够通过它是用命名和文件夹服务。就像JDBC一样。JNDI提供命名服务和文件夹服务两部分,其最基本的功能就是讲命名和对象绑定,并对对象提供操作。

    在使用JNDI之前首先须要公布服务,然后取得该服务。因此他主要包括两个操作既bind和lookup。

    bind:既公布服务,他用一张哈希表来存储对象,存储对象要对规定好键值的字符串,但这通常都是由server开完毕的。

    开发者仅仅须要往server中公布组件或服务就可以。

    lookup:既负责查找服务。开发者能够用键值开获取服务对象。

    3.ex

    本例讲的是JavaWeb项目Tomact下的JNDI服务使用。

    Spring数据源採用JNDI连接数据库

    1.spring-config.xml

    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    	<property name="jndiName">
    		<value>java:comp/env/jdbc/bbs</value>
    	</property>
    </bean>
    2.Tomcat为我们提供的绑定服务

    配置context.xml

    <!-- The contents of this file will be loaded for each web application -->
    <Context>
        
        <!-- Default set of monitored resources -->
    	
    
        <WatchedResource>WEB-INF/web.xml</WatchedResource>
       	
       		<Resource name="jdbc/bbs" auth="Container" type="javax.sql.DataSource"
            <span style="white-space:pre">	</span>factory="org.logicalcobwebs.proxool.ProxoolDataSource" proxool.alias="bbs"
                    proxool.maximum-connection-count="4" proxool.minimum-connection-count="1" 
                    proxool.maxinum-connection-lifetime="18000000" proxool.maximum-active-time="60000"
                    proxool.house-keeping-sleep-time="30000"    proxool.simultaneous-build-throttle="40"
                	proxool.trace="true"  user="ccy" password="ccy" delegateProperties="foo=bar"
                	proxool.prototype-count="9"
                    proxool.driver-url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
            	proxool.driver-class="oracle.jdbc.driver.OracleDriver" />
      	
    </Context>



    欢迎大家一起讨论学习!

    实用的自己收!

    记录与分享。让你我共成长!欢迎查看我的其它博客。我的博客地址:http://blog.csdn.net/caicongyang





  • 相关阅读:
    JDK14的新特性:JFR,JMC和JFR事件流
    java深入理解浅拷贝和深拷贝
    jcmd:JDK14中的调试神器
    你真的了解java class name吗?
    JDK14中的java tools简介
    JDK 14的新特性:switch表达式
    JDK 14的新特性:文本块Text Blocks
    java中的内部类内部接口详解
    一文弄懂String的所有小秘密
    深入理解java的泛型
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7191693.html
Copyright © 2020-2023  润新知