GBase xdm集群分片值设置

设置参与操作数据的分片属性的值(目前是16进制数字字符的后4字符)。

集群分片值设置,用于查询操作中发送给集群XDM端进行片号计算用。

例://程序开始时,初始化连接池的负载均衡配置,一次性设置这2个文件的路径

ParseServerParam.m_configFile = "./server.json";  //设置 2个配置服务器的连接配置文件

ParseFileConfig.m_configFile = "./lbconfig_file.json";  //设置 本地负载均衡配置文件

int refreshInterval = 24 * 3600;  //second,设置为1天,代表1天刷新1次负载均衡配置

int lbConnTimeout = 3;  //second,网络好,可以设置为0,网络不好建议设置为1到3

//ConnectionPool.setLbDebugFlag(true);  //设置负载均衡调试标记

boolean rtn = ConnectionPool.setLbInitParam(refreshInterval, lbConnTimeout);

if (!rtn) {

System.out.println("lb init failed.");

    return;

}

ConnectionPool cp = null;   //声明连接池对象;

int min = 30, max = 100, vport = 1234, connTimeout = 3;  //连接超时时间3s;

String vhost = "127.0.0.1";

try {

//连接到指定的虚拟IP与端口(这里的127.0.0.1和1234是虚拟的,由负载均衡配置映射)

cp = new ConnectionPool(min, max, vhost, vport, connTimeout);

//设置集群分片标记

cp.setShardingFlag(true);

}ctach (LDAPException ex)

{

System.out.println("connpool init error code is: " + ex.getLDAPResultCode()); //打印返回码

return;

//从连接池获取连接(已连接到映射的实际ip和端口)并做查询操作

LDAPConnection conn = cp.getConnection();

if (conn == null) {

System.out.println("connpool can not get valid conn.");

cp.destroy();

return;

}

LDAPSearchResults res = null;

String[] attrs = null;  //返回全部用户属性

//String[] attrs = new String[]{"sn","idname"};  //返回sn和idname属性

//设置库名

try {

conn.setShardingGroupId("AB");

}catch (LDAPException ex) { }

//......此处可多次执行:设置分片值,并执行查询search

try {

conn.setShardingValue("1234");

res = conn.search ( "dc=A1",  LDAPv3.SCOPE_SUB,  "(sn=1234)", attrs, false, lsc);

}catch (LDAPException ex) {

//出错处理,可能有连接错误:91,81;参数错误:89;集群节点错误:52

......

}

cp.close(conn);

//实时手动刷新负载均衡配置,最好做到springboot的restful(control)接口,由url调用刷新

//rtn = ConnectionPool.updateLbServerInfo();

//if (rtn == false) {

//System.out.println("refresh lb config failed.");  //打印信息

//cp.destroy();

//return;

//}

//程序退出时,销毁连接池(销毁连接,销毁刷新负载均衡配置的线程)

cp.destroy();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值