jdk 1.6 安裝.
mysql 5.1.x或者5.5.x 安裝
maven2 settings.xml修改(見附錄)
tddl 動态資料源的開源代碼中,有一個tddl-sample 工程, 該工程示範了如何使用tddl動态資料源.但需要一些配置支援,以下說明需要做的配置.
(1).建庫qatest_normal_0:
drop database if exists qatest_normal_0;
create database `qatest_normal_0`
(2). 在庫qatest_normal_0中建表normaltbl_0001
use qatest_normal_0;
create table `normaltbl_0001` (
`pk` int(11) not null,
`id` int(11) default null,
`gmt_create` date default '2010-12-17',
`name` varchar(30) default null,
`floatcol` float(9,3) default '0.000',
primary key (`pk`)
) engine=innodb default charset=latin1;
(3). 在庫qatest_normal_0中建立tddl使用者,授予讀寫資料庫權限
create user 'tddl'@'%' identified by 'tddl';
grant insert,update,select,delete on qatest_normal_0.* to 'tddl'@'%';
global配置
dataid:com.taobao.tddl.atom.global.qatest_normal_0
group:default_group
content:
ip=127.0.0.1
port=3306
dbname=qatest_normal_0
dbtype=mysql
dbstatus=rw
app配置
dataid:com.taobao.tddl.atom.app.tddl_sample.qatest_normal_0
username=tddl
minpoolsize=1
maxpoolsize=2
idletimeout=10
blockingtimeout=5
preparedstatementcachesize=15
connectionproperties=characterencoding=gbk
user配置(dataid最後一段'.tddl'和使用者名緊相關,如果資料庫使用者名不是tddl,請修改這個dataid)
dataid:com.taobao.tddl.atom.passwd.qatest_normal_0.mysql.tddl
content:
encpasswd=xxxxxxx(密文,請用tddl-atom-datasource工程下的jbosspassworddecode加密下明文密碼)
<dependency>
<groupid>com.taobao.tddl</groupid>
<artifactid>tddl-group-datasource</artifactid>
<version>3.0.1.5.taobaocode-snapshot</version>
</dependency>
<artifactid>tddl-atom-datasource</artifactid>
tatomdatasource tatomdatasource = new tatomdatasource();
tatomdatasource.setappname(appname);//appname是目前業務的名稱
tatomdatasource.setdbkey(dbkey);// dbkey是dba告知業務的目前資料庫執行個體的名字(用于标志唯一的資料庫)
tatomdatasource.init();
(1) 建庫qatest_normal_0
(2) 在庫qatest_normal_0中建表normaltbl_0001
(3) 建庫qatest_normal_0_bac
drop database if exists qatest_normal_0_bac;
create database `qatest_normal_0_bac`;
(4) 在庫qatest_normal_0_bac中建表normaltbl_0001
use qatest_normal_0_bac;
(5). 在以上兩個資料庫中建立tddl使用者,授予讀寫資料庫權限
grant insert,update,select,delete on qatest_normal_0_bac.* to 'tddl'@'%';
(1)在diamond中配置group一組對等的資料的讀寫權重
dataid:com.taobao.tddl.jdbc.group_v2.4.1_group_sample
qatest_normal_0:r10w10,qatest_normal_0_bac:r10w0
(2)在diamond中配置atom(qatest_normal_0)資料源
global配置
app配置
user配置(dataid最後一段'.tddl'和使用者名緊相關,如果資料庫使用者名不是tddl,請修改這個dataid)
(3)在diamond中配置atom(qatest_normal_0_bac)資料源
global配置
dataid:com.taobao.tddl.atom.global.qatest_normal_0_bac
dbname=qatest_normal_0_bac
dbstatus=wr
dataid:com.taobao.tddl.atom.app.tddl_sample.qatest_normal_0_bac
dataid:com.taobao.tddl.atom.passwd.qatest_normal_0_bac.mysql.tddl
tgroupdatasource ds = new tgroupdatasource(dbgroupkey, appname);
ds.init();
請修改maven/conf/settings.xml檔案,確定使用正确的maven repository。
目前我們将tddl動态資料源釋出在淘蝌蚪的maven repository中。
<?xml version="1.0" encoding="utf-8"?>
<settings xmlns="http://maven.apache.org/settings/1.0.0"
xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xsi:schemalocation="
http://maven.apache.org/settings/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
……
<servers>
<server>
<id>taocodereleases</id>
<username>admin</username>
<password>admintaocode321</password>
</server>
<id>taocodesnapshots</id>
</servers>
…
<profiles>
<profile>
<id>opensource</id>
<repositories>
<repository>
<name>taocode nexus</name>
<url>http://mvnrepo.code.taobao.org/nexus/content/repositories/releases/</url>
</repository>
<url>http://mvnrepo.code.taobao.org/nexus/content/repositories/snapshots/</url>
</repositories>
</profile>
</profiles>
<activeprofiles>
<activeprofile>opensource</activeprofile>
</activeprofiles>
</settings>