Spring中配置JNDI数据源


如果应用配置在高性能的应用服务器(如WebLogic或Websphere等)上,更希望使用应用服务器本身提供的数据源。应用服务器的数据源使用JNDI开放调用者使用,Spring为此专门提供引用JNDI资源的JndiObjectFactoryBean类。

一、在Spring配置文件中的配置

    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName">
            <value>java:comp/env/jdbc/DBPool</value>
        </property>
    </bean>

二、在web.xml的配置(这些标签就是用来建立当前应用环境到服务器资源的映射的)

  <resource-ref>
    <res-ref-name>jdbc/DBPool</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

三、在Tomcat的配置

server.xml下 <GlobalNamingResources></GlobalNamingResources>中的配置
    <Resource
        auth="Container"
        description="DB Connection"
        driverClass="Oracle.jdbc.driver.OracleDriver"
        maxPoolSize="50"
        minPoolSize="2"
        initialPoolSize="5"
        maxIdleTime="60"
        autoCommitOnClose="true"
        acquireIncrement="3"
        name="jdbc/DBPool"
        user="root"
        password="123456"
        jdbcUrl="jdbc:oracle:thin:@192.168.120.165:1521:orcl10"
        factory="org.apache.naming.factory.BeanFactory"
        type="com.mchange.v2.c3p0.ComboPooledDataSource"
        />

context.xml下<Context></Context>中的配置

<ResourceLink global="jdbc/DBPool" name="jdbc/DBPool" type="javax.sql.DataSource" />

四、调用

 这样既可以通过Spring获得数据源得到Connection对象 , 也可以通过下面获得Connection 对象
  Context    context = new InitialContext();
  DataSource  dataSource = (DataSource)context.lookup("java:comp/env/jdbc/DBPool");
  Connection  con = dataSource.getConnection();

Struts2整合Spring方法及原理

基于 Spring 设计并实现 RESTful Web Services

Spring-3.2.4 + Quartz-2.2.0集成实例

使用 Spring 进行单元测试

运用Spring注解实现Netty服务器端UDP应用程序

Spring 3.x 企业应用开发实战 PDF完整高清扫描版+源代码

Spring 的详细介绍:请点这里
Spring 的下载地址:请点这里 

本文永久更新链接地址:

相关内容