zoukankan      html  css  js  c++  java
  • 为tomcat动态添加jndi数据源信息

    我们在开发项目的时候,总要和数据库打交道,如何获取数据源,以什么样的方式来获取,成为了我们即简单又熟悉而且不得不注意的一个问题。

    那么在这里我说三种获取数据源的常用方式:

    一、通过配置文件来获取
    1. 首先在项目的classPath下面,建立一个配置文件,如jdbc.properties。
    2. 通过最原始的方式,解析这个配置文件,然后读取配置信息,再封装jdbc信息,从而得到数据源。
    3. 使用spring;通过spring去建立dataSource Bean。这个dataSource Bean里的信息同样来自己于你的配置文件。注意要在配置文件中加入:
    <context:property-placeholder location="classpath:jdbc.properties" />
    引入静态文件

         4.Spring中的dataSource bean大致如下:

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
            destroy-method="close">
            <property name="driverClassName" value="${driverClassName}" />
            <property name="url" value="${url}" />
            <property name="username" value="${username}" />
            <property name="password" value="${password}" />
            <property name="maxActive" value="20" />
            <property name="initialSize" value="1" />
            <property name="maxWait" value="60000" />
            <property name="maxIdle" value="20" />
            <property name="minIdle" value="3" />
            <property name="removeAbandoned" value="true" />
            <property name="removeAbandonedTimeout" value="180" />
            <property name="connectionProperties" value="clientEncoding=UTF-8" />
    </bean>
    dataSource bean

       5.配置文件的内容大致如下:

    driverClassName=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/springsecurity?allowMultiQueries=true
    username=root
    password=123456
    jdbc配置文件
    二、通过jndi来获取
    1. 说明:通过jndi的方式来获取,通常是在使用spring的情况下使用,当然也可以是其它方式。
    2. 首先,在tomcat的config目录下的context.xml文件中,加入如下语句:
    <Resource driverClassName="com.mysql.jdbc.Driver" maxActive="120" maxWait="5000" maxldle="10" name="app" type="javax.sql.DataSource" url="jdbc:mysql://127.0.0.1:3306/goldApp?allowMultiQueries=true" username="root" password="123456"/>
    jndi Resoure

      3.对于第”2”点的说明:name表示为jndi的名字, driverClassName是使用的驱动类,url当然就是连接相关信息,username是登录数据库的用户名,password是数据库密码。

      4.执行好第”2”步过后,要做的事情:在你的spring配置文件中,加入引入jndi的bean,如下:

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

      5.对于第“4”点的说明:

        在value中java:comp/env/是前缀,app帮是content.xml中配置的jndi的名字。

    三、在MATA-INFO 文件下加入Content.xml方式,让项目在部署时动态为tomcat加上jndi数据源

      1.首先,在MATA-INFO下建文件: Context.xml

             文件内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
        <Resource 
            driverClassName="com.mysql.jdbc.Driver" 
            maxActive="120" 
            maxWait="5000" 
            maxldle="10" 
            name="app" 
            type="javax.sql.DataSource" 
            url="jdbc:mysql://192.168.10.105:3306/springsecurity?allowMultiQueries=true" 
            username="root" 
            password="123456"
        />
    </Context>
    MATA-INFO Context内容

      2.说明:在mata-info下加入此文件后,然后在spring中采用使用jndi的方式引用数据库即可。这种的好处是。它在你发布项目的时候,会动态为你在tomcat的配置文件中加上数据源信息,所以就不用我们每次都手动到content.xml文件加入配置了。注意:动态加的数据源信息在servce.xml中。

  • 相关阅读:
    项目管理系列(其他):国际工程承包项目风险识别与分析
    公司注册之简化版
    公司注册之百度百科
    有效投标不足三家不应是重新招标的必要条件
    CPU频率
    集成电路
    晶体管
    Oracle问题之ORA-01609、ORA-00362
    Oracle问题之ORA-12560TNS:协议适配器错误
    Oracle问题之字符集问题,登陆sqlplus出现问号
  • 原文地址:https://www.cnblogs.com/buy360/p/4394792.html
Copyright © 2011-2022 走看看