zoukankan      html  css  js  c++  java
  • 如何实现分布式数据库

    1.前言:

           我们知道随着用户数量的增长,应用软件的规模会逐步增大,同时也使应用的服务压力愈发大。而首当其冲的无非是数据库操作资源...


    2.技术方案:

          这里采用jndi技术实现分库读写(mysql和oracle数据库集成)


    3.具体实现:

        a.配置tomcat的server.xml

       <Context>
           <Resource name="jdbc/mysql" auth="Container" 
                     type="javax.sql.DataSource"                                              
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://127.0.0.1:3306/test" username="admin" password="admin“ maxActive="100" maxIdle="30" maxWait="10000” /> <Resource name="jdbc/orcl" auth="Container" type="javax.sql.DataSource"
    driverClassName="oracle.jdbc.OracleDriver"
    url="jdbc:oracle:thin:@127.0.0.2:1521:orcl" username="trigger" password="trigger" maxActive="50" maxIdle="10" maxWait="10000"/> </Context>

       b.配置项目的web.xml

                <resource-ref>
                           <description>DB Connection</description>
                           <res-ref-name>jdbc/mysql</res-ref-name>
                           <res-type>javax.sql.DataSource</res-type>
                           <res-auth>Container</res-auth>
                </resource-ref>
                 <resource-ref>
                          <description>DB Connection</description>
                          <res-ref-name>jdbc/orcl</res-ref-name>
                         <res-type>javax.sql.DataSource</res-type>
                        <res-auth>Container</res-auth>
                 </resource-ref>

        *注意: <res-ref-name>jdbc/mysql</res-ref-name>的值必须匹配 <Resource name="jdbc/mysql" auth="Container" ...的name,否则会出现错误

        c.如何初始化资源链接:

           Context initContext = new InitialContext();
           Context envContext  = (Context)initContext.lookup("java:/comp/env");
           DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
           Connection conn = ds.getConnection();

    4.总结:

            配置服务器(tomcat) ==》配置项目的web.xml ==》在项目中引入数据库驱动包 ==》获取数据库连接


      5.分享和交流:

          如有纰漏!望各位看客斧正,谢谢


      6.引用资源:

        JNDI 在 J2EE 中的角色(http://www.ibm.com/developerworks/cn/java/j-jndi/)

       JNDI Datasource HOW-TO(https://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html#Introduction)

  • 相关阅读:
    不能对同一张表先查询后更新的解决方案
    Maven的一些常用命令
    在sql中使用函数,遇到net.sf.jsqlparser.parser.ParseException异常
    2017年秋季遇到的兼容问题总结
    最近关于css样式重构的一点心得体会
    CSS Modules使用方法
    上传图片获取base64位编码
    移动端自适应莫名其妙撑开高度的问题
    解决ie8下页面刚出现时候的晃动问题
    解决ie8下面placeholder显示问题
  • 原文地址:https://www.cnblogs.com/imaikce/p/6055928.html
Copyright © 2011-2022 走看看