首批通过分布式安全可靠测评,为关键业务系统打造
OBKV-Table Java 客户端参数设置
更新时间:2024-10-28 23:00:00
设置参数方式
ObTableClient client = new ObTableClient();
client.setFullUserName("your user name");
client.setPassword("your passwd");
client.setParamURL("your OCP url");
obTableClient.setSysUserName("your sys user name");
obTableClient.setSysPassword("your sys password");
// 设置 ObTableClient 的参数,比如
// bolt.netty.buffer.low.watermark 和 bolt.netty.buffer.high.watermark 设置为 64K 和 128K
client.addProperty(Property.NETTY_BUFFER_LOW_WATERMARK.getKey(), Integer.toString(64*1024));
client.addProperty(Property.NETTY_BUFFER_HIGH_WATERMARK.getKey(), Integer.toString(128*1024));
client.init();
// do insert/update/query/delete operation
......
注意
参数设置需要在 client.init() 执行之前设置。
设置参数列表
您可在下表中查看具体可配置参数(不同版本的参数请参考 Property 类 成员),其中您可重点关注的配置项已加粗。
| 分类 | 配置项 | 默认值 | 描述 | 客户端版本 |
|---|---|---|---|---|
| RPC | rpc.connect.timeout | 500 | 建立 RPC 连接的超时时间 | 1.0.0 |
| RPC | rpc.connect.try.times | 3 | 建立 RPC 连接的尝试次数 | 1.0.0 |
| RPC | rpc.execute.timeout | 3000 | 执行 RPC 请求的 socket 超时时间 | 1.0.0 |
| RPC | rpc.login.timeout | 1000 | 请求 RPC 登录的超时时间 | 1.0.0 |
| RPC | rpc.login.try.times | 3 | 请求 RPC 登录的尝试次数 | 1.0.0 |
| RPC | rpc.operation.timeout | 10000 | OceanBase 内部执行 RPC 请求的超时时间 | 1.0.0 |
| META | metadata.refresh.interval | 60000 | 刷新 METADATA 的时间间隔 | 1.0.0 |
| META | metadata.refresh.lock.timeout | 8000 | 刷新 METADATA 的锁超时时间 | 1.0.0 |
| RS_LIST | rs.list.acquire.connect.timeout | 200 | 获取 RS 列表的建连的超时时间 | 1.0.0 |
| RS_LIST | rs.list.acquire.read.timeout | 1000 | 获取 RS 列表的读取的超时时间 | 1.0.0 |
| RS_LIST | rs.list.acquire.try.times | 3 | 获取 RS 列表的尝试次数 | 1.0.0 |
| RS_LIST | rs.list.acquire.retry.interval | 100 | 每次尝试获取 RS 列表的时间间隔 | 1.0.0 |
| TableEntry | table.entry.acquire.connect.timeout | 500 | 刷新 TABLE 地址的建连超时时间 | 1.0.0 |
| TableEntry | table.entry.acquire.socket.timeout | 3000 | 刷新 TABLE 地址的 SOCKET 超时时间 | 1.0.0 |
| TableEntry | table.entry.refresh.interval.base | 100 | 刷新 TABLE 地址的基础时间间隔 | 1.0.0 |
| TableEntry | table.entry.refresh.interval.ceiling | 1600 | 刷新 TABLE 地址的最大时间间隔 | 1.0.0 |
| TableEntry | table.entry.refresh.interval.wait | false | 刷新 TABLE 地址时是否等待间隔时间 | 1.0.0 |
| TableEntry | table.entry.refresh.lock.timeout | 4000 | 刷新 TABLE 地址的锁超时时间 | 1.0.0 |
| TableEntry | table.entry.refresh.try.times | 3 | 刷新 TABLE 地址的尝试次数 | 1.0.0 |
| TableEntry | table.entry.refresh.continuous.failure.ceiling | 10 | 连续刷新 TABLE 地址的失败上限,会刷新 METADATA | 1.0.0 |
| SERVER | server.address.priority.timeout | 1800000 | SERVER 地址优先级的失效时间 | 1.0.0 |
| SERVER | server.connection.pool.size | 1 | 单个 SERVER 的最大连接数 | 1.2.4 |
| RUNTIME | runtime.continuous.failure.ceiling | 100 | 连续运行失败上限,会刷新 TABLE 的地址 | 1.0.0 |
| RUNTIME | runtime.retry.times | 1 | 运行过程中遇到可重试错误时的重试次数 | 1.0.0 |
| RUNTIME | runtime.retry.interval | 1 | 运行出错时重试的时间间隔 | 1.0.0 |
| RUNTIME | runtime.max.wait | 3000 | 单次执行超时时间会在超时时间内重试 | 1.0.0 |
| RUNTIME | runtime.batch.max.wait | 3000 | 批量执行请求的超时时间 | 1.0.0 |
| Netty | bolt.netty.buffer.low.watermark | 512K | netty 写缓存的低水位 | 1.2.5 |
| Netty | bolt.netty.buffer.high.watermark | 1M | netty 写缓存的高水位 | 1.2.5 |
| Netty | bolt.netty.blocking.wait.interval | 1ms | netty 写缓存满后等待时间 | 1.2.5 |