Mycat 源码阅读之dbDriver支持类型

本文介绍了一种根据不同的数据库类型和驱动程序创建相应的数据源的方法。通过判断数据库类型和驱动类型,选择创建 MySQL、JDBC 或 PostgreSQL 数据源。每种类型的节点都会设置最大空闲时间,并初始化对应的数据源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

永久链接: http://gaojingsong.iteye.com/blog/2345449



 

源码如下:

private PhysicalDatasource[] createDataSource(DataHostConfig conf,

          String hostName, String dbType, String dbDriver,

         DBHostConfig[] nodes, boolean isRead) {

            PhysicalDatasource[] dataSources = new PhysicalDatasource[nodes.length];

        if (dbType.equals("mysql") && dbDriver.equals("native")) {

              for (int i = 0; i < nodes.length; i++) {

                     //设置最大idle时间,默认为30分钟

                   nodes[i].setIdleTimeout(system.getIdleTimeout());

                   MySQLDataSource ds = new MySQLDataSource(nodes[i], conf, isRead);

                  dataSources[i] = ds;

              }

 

        } else if (dbDriver.equals("jdbc")) {

                 for (int i = 0; i < nodes.length; i++) {

                      nodes[i].setIdleTimeout(system.getIdleTimeout());

                     JDBCDatasource ds = new JDBCDatasource(nodes[i], conf, isRead);

                    dataSources[i] = ds;

              }

     } else if ("postgresql".equalsIgnoreCase(dbType) && dbDriver.equalsIgnoreCase("native")){

                for (int i = 0; i < nodes.length; i++) {

                    nodes[i].setIdleTimeout(system.getIdleTimeout());

                    PostgreSQLDataSource ds = new PostgreSQLDataSource(nodes[i], conf, isRead);

                    dataSources[i] = ds;

              }

     } else{

            throw new ConfigException("not supported yet !" + hostName);

       }

           return dataSources;

     }



  

永久链接: http://gaojingsong.iteye.com/blog/2345449

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值