天天看點

TDDL動态資料源開源-示例使用說明TDDL動态資料源使用示例說明

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>