TcaplusDB TDR表 Java SDK 开始使用

使用Java SDK的前期准备工作主要包括:

  1. 准备环境;
  2. 创建业务;
  3. 创建游戏区;
  4. 创建表格;
  5. 收集环境信息;
  6. 下载SDK;
  7. 配置开发环境。

以上准备工作已经完成,可以直接跳过。

1. 准备环境

参考创建集群文档,部署TcaplusDB集群,或者申请TcaplusDB服务。

2. 创建业务

参考创建业务文档,创建业务(App)。

3. 创建游戏区

参考创建游戏区文档,创建游戏区(Zone)。

4. 创建表格

参考创建表格文档,创建数据表。

TDR表分为Generic表和List表两种。

4.1. Generic表定义说明

Generic表描述文件样例 下载

Generic表描述文件内容示例:

<?xml version="1.0" encoding="GBK" standalone="yes" ?>               
<metalib name="table_test" tagsetversion="1" version="1">               
    <struct name="test" version="1" splittablekey="gameid"  primarykey="gameid,itemid,name">               
        <entry name="gameid" type="uint" />                
        <entry name="itemid" type="uint" />               
        <entry name="name" type="string" size="5" />               
        <entry name="typeid" type="uint8"/>               
        <entry name="Data" type="tinyuint" defaultvalue="9"/>               
        <entry name="uname" type="string" size="5" defaultvalue="ab"/>               
        <index name="index_id" column="gameid" />               
    </struct>
</metalib>

TDR表描述文件格式说明参见TDR表文档。

4.2. List表定义说明

List表描述文件样例 下载

List表描述文件内容示例:

<?xml version="1.0" encoding="GBK" standalone="yes" ?>               
<metalib name="table_test" tagsetversion="1" version="1">               
    <struct name="test" version="1" splittablekey="gameid"  primarykey="gameid,itemid,name" customattr2="TableType=LIST;ListNum=3">               
        <entry name="gameid" type="uint" />                
        <entry name="itemid" type="uint" />               
        <entry name="name" type="string" size="5" />               
        <entry name="typeid" type="uint8"/>               
        <entry name="Data" type="tinyuint" defaultvalue="9"/>               
        <entry name="uname" type="string" size="5" defaultvalue="ab"/>               
        <index name="index_id" column="gameid" />               
    </struct>
</metalib>

TDR表描述文件格式说明参见TDR表文档。

通过表定义的customattr2中的TableType=LIST来标识是List表,同样通过customattr2中的ListNum属性来指定,单个List最多可以存放多少个元素。

注意:由于List表会内置一个存放List中元素序号的主键字段,因此对于用户来说,最多只能为List表定义7个主键字段。

5. 收集环境信息

使用Java SDK时,需要用到一些环境相关参数,具体参数和收集方法见下表。

参数 获取方法
目录服务器地址列表 获取目录服务地址列表
业务ID 获取业务ID
业务访问密码 获取业务访问密码
游戏区ID 获取游戏区ID
数据表名 test

6. 下载Java SDK

Java SDK发布版本说明和下载连接参见TDR表SDK下载

7. 配置开发环境

7.1. Maven项目

maven指定依赖包有两种常用方式,一种是相对路径依赖,一种是Maven仓依赖。

注:下文中的x.x.x需要替换为具体的版本号,如3.40.0。

  • 相对路径依赖

    解压Java SDK压缩包,将其中的service-api-x.x.x.jar文件放在当前Maven项目的lib目录下。

    修改项目pom.xml文件,添加包依赖。

    <dependency>
          <groupId>com.tencent.tcaplus</groupId>
          <artifactId>service-api</artifactId>
          <version>x.x.x</version>
          <scope>system</scope>
          <systemPath>${project.basedir}/lib/service-api-x.x.x.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.5</version>
    </dependency>
    <dependency>
        <groupId>commons-validator</groupId>
        <artifactId>commons-validator</artifactId>
        <version>1.7</version>
    </dependency>
    
  • Maven仓依赖

    解压Java SDK压缩包,将其中的service-api-x.x.x.jar文件放在一个临时目录(如/tmp/)下。

    将service-api-x.x.x.jar包安装到本地Maven仓,或者部署到远程仓。

    # 安装到本地仓
    mvn install:install-file -Dfile="/tmp/service-api-x.x.x.jar" -DgroupId=com.tencent.tcaplus -DartifactId=service-api -Dversion=x.x.x -Dpackaging=jar
    
    # 部署到远程仓
    # 注意:将“<远程仓地址>”替换成实际的远程仓URL地址
    mvn deploy:deploy-file -Dfile="/tmp/service-api-x.x.x.jar" -DgroupId=com.tencent.tcaplus -DartifactId=service-api -Dversion=x.x.x -Dpackaging=jar -Durl=<远程仓地址>
    

7.2. 其它类型项目

可直接在编译时带上通过cp参数引入对应的包,或者加入到classpath环境变量中,如下所示:

# 编译带上对应的依赖包
javac -cp ./tcaplus-service-api-x.x.x.jar:./slf4j-api-1.7.5.jar Example.java

# 运行带上对应的依赖包
java -cp ./tcaplus-service-api-x.x.x.jar:./slf4j-api-1.7.5.jar Example

8. 使用Java SDK

参见Java SDK各接口的使用说明

9. 常见问题

使用Java SDK的过程中,有疑问(如查看SDK版本,配置SDK日志打印,升级SDK等),或者遇到报错,可参考“常见问题”和“错误码含义和处理方法”进行处理。

  1. 常见问题文档;

  2. 错误码含义和处理方法文档。

results matching ""

    No results matching ""