永久链接: 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;
}
相关推荐
Mycat源码分析Mycat源码分析Mycat源码分析Mycat源码分析Mycat源码分析
Mycat源码的阅读和理解对于提升数据库架构设计和性能优化的能力具有重要意义。通过源码学习,开发者可以更深入地了解数据库中间件的工作原理,从而在实际项目中更好地利用Mycat,解决数据库扩展性和性能的问题。 ...
《深入剖析Mycat 1.6源码》 Mycat是一款开源的分布式数据库中间件,它在Java平台上运行,旨在解决大数据分布式存储和处理的问题。Mycat 1.6版本是其一个重要的里程碑,它在前一版本的基础上进行了一系列的优化和...
Mycat,作为一款开源的分布式数据库中间件,是大数据时代应对高并发、海量数据场景的重要解决方案之一。Mycat2是其最新版本,提供了一种更高效、更稳定的数据分片策略,使得在分布式环境下的数据管理和处理更为便捷...
《深入解析mycat-server 1.6:源码探索与实战指南》 Mycat-Server 1.6 是一个开源的分布式数据库中间件,它主要用于解决大数据环境下高并发、高性能的问题,尤其在分库分表场景下表现卓越。这款源码包的特点是可...
《深入解析Mycat-Server-1.6源码》 Mycat是开源的分布式数据库中间件,它主要用于解决大数据环境下数据分片、读写分离等问题,是Java开发的一款高性能、高可用的数据库集群管理工具。Mycat-Server-1.6版本的源码...
- **MyCAT 定义**:MyCAT 是一个完全开源的数据库中间件,它不仅可以作为MySQL的代理层,还支持多种数据库类型的连接,提供高性能的数据处理能力。 - **MyCAT 目标**:旨在帮助企业低成本地迁移现有数据库到云端环境...
基于MyCat1.6正式版的源码修改的,支持subTables的按月分表正则配置 subTables=“ tableName_$201701-?” subTableWay="BYMONTH" 表示从201701月份开始进行分表处理,?表示当前日期的月份,是动态的。只需配置开始...
### Mycat从入门到精通之Mycat源码分析 #### 一、NIO源码分析 Mycat作为一个高性能的数据库中间件,在其架构设计上充分利用了Java NIO技术来提升性能。NIO(Non-blocking I/O)是非阻塞I/O的简称,通过采用非阻塞...
- **源代码**:mycat-web项目的Java源码,包含了MyCat Web管理平台的前端和后端代码。 - **部署脚本**:用于部署mycat-web到服务器的脚本,可能包括启动、停止、更新等操作。 - **配置文件**:如mycat.properties,...
Mycat2 v1.21-2022-4-7源码(Mycat2-1.21-2022-4-7.zip)
【描述】中提到的“兼容高版本mysql驱动”,意味着Mycat源码已经进行了调整,能够与MySQL的最新驱动程序协同工作。MySQL驱动的更新通常会带来性能提升、新的特性支持和更好的安全性。例如,对于MySQL 8.0,可能包括...
Mycat 2.0 预览版。 基于Nio实现,有效管理线程,解决高并发问题。 前后端共享buffer,支持全透传和半透传,极致提升内核性能,稳定性和兼容性。 功能特性 支持SQL92标准。 支持单库内任意sql。 支持读写...
《MyCat测试报告:单机与多机集群的性能比较》 MyCat,作为一个流行的开源分布式数据库系统,常被用于解决大数据场景下的高并发问题。本测试报告旨在探究单台MyCat与多台MyCat集群在性能上的差异,并对比前端使用...
Mycat从入门到精通视频教程目录介绍: ...第13课 Mycat源码分析 NIO源码分析 连接池源码分析 SQL路由模块分析 SQL执行模块分析 SQL汇聚模块分析 第14课 Mycat Catlet开发 Catlet原理 ShareJoin分析
除了MongoDB外,Mycat还支持其他类型的数据库。例如,下面是配置Oracle数据库的一个例子: ```xml <dataHost name="jdbchost2" maxCon="1000" minCon="1" balance="0" writeType="0" dbType="oracle" dbDriver=...
Mycat发展到目前版本,已经不在是一个单纯的MySQL代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL等主流数据库,也支持MongoDB这种新型NOSQL方式的存储,未来还会支持更多类型的存储。...
相较于Mycat1,Mycat2在性能、稳定性、功能特性上可能有所提升,例如支持更多的数据库类型、提供更丰富的SQL解析和路由策略,以及优化了数据分片和负载均衡算法等。 **详细知识点:** 1. **分布式数据库中间件**:...
通过Maven的生命周期(如clean、compile、test、package等),我们可以方便地编译、测试和打包Mycat源码,确保其正确运行。 在Eclipse中调试Mycat源码,我们需要设置断点,这通常是在关键逻辑或感兴趣的方法入口处...