Java

Notice: 为提升用户体验,DolphinDB Java API 的版本号现已调整。新的版本号与 DolphinDB Server 200 系列对齐。

2.00.11.1

新增功能

  • 新增 SimpleDBConnectionPool 连接池。

2.00.11.0

新增功能

  • DBConnection 类的 run 方法新增参数 enableSeqNo,支持关闭 seqNo 功能。

  • DBConnection 类的 connect 方法新增参数 enableLoadBalance,支持关闭高可用模式下的负载均衡功能。

  • 新增支持 slf4j 日志框架。

  • DURATION 类型新增支持交易所标识。

  • PartitionedTableAppender 类支持写入 BLOB 型数据。

功能优化

  • 优化 MultithreadedTableWriter 类批量写入数据的方式。
  • 私有化方法public DBConnection(boolean asynchronousTask, boolean useSSL, boolean compress,boolean usePython, boolean isUrgent, boolean isReverseStreaming, SqlStdEnum, sqlStd)
  • ThreadPooledClient 类优化当参数 threadCount 为负数时的报错信息。
  • 更新代码使用示例。(详见项目 examples 文件夹)

故障修复

  • 修复 MultithreadedTableWriter 类的写入接口 ThreadStatus 类的 toString() 函数没有正确输出 sendFailedRows 的值的问题。

  • 修复序列化传输的字符串中包含“\0”时出现通信异常的问题,现增加对字符“\0”的检查与处理。

1.30.21.4

新增功能

  • MultithreadedTableWriter 类新增支持创建包含基本数据类型 boolean[]、byte[]、char[]、short[]、int[]、long[]、double[]、float[]的 array vector。

  • ThreadPooledClient 类新增支持构造方法 public ThreadPooledClient(int threadCount),发布端可通过订阅端的请求连接推送数据。

  • PollingClient 类新增支持无参构造方法 public PollingClient(),发布端可通过订阅端的请求连接推送数据。

  • DBConnection 类私有化参数 isReverseStreaming,下个版本起将不再提供。 新增回调接口。

  • BasicTable 类新增:

    • addColumn 禁止添加重复列;

    • 支持 replaceColumn 替换已存在的单列;

    • 支持 replaceColName 替换已存在单列的列名。

功能优化

  • DBConnection 类优化:

    • login 方法中 userID 参数重命名为 userId

    • getUserID() 方法重命名为 getUserId()

故障修复

  • 修复了 BasicDecimal32Vector, BasicDecimal64Vector, BasicDecimal128Vector 型数据通过 Append 方法写入结果错误的问题。

  • 修复了没有空值的 BasicSymbolVector 类执行完 setNull 后,在后续获取数据时出现报错、并导致连接断开、异常抛出等问题。

1.30.21.3

新增功能

  • 新增支持通过字符串构造 BasicDecimal32, BasicDecimal64型数据。

  • 新增支持调用 fastjson 库的 JSONObject.toJSONString 方法序列化 Java API 中定义的 DolphinDB 数据类型。

  • BasicDecimal32Vector, BasicDecimal64Vector 类的 add 方法新增支持调用 String 类型数据。

  • BasicDecimal32Vector, BasicDecimal64Vector 类的 addRange 方法新增支持调用 String 类型数组类型数据。

  • tableAppender 调整名字为 AutoFitTableAppender。

功能优化

  • 轻量化 DolphinDB Java API 依赖的 jar 包。

  • 优化 ErrorCodeInfo 代码,其属性修改为 public 访问修饰符。

1.30.22.2

新增功能

  • 新增开启高可用后,API 将优先随机连接低负载节点。

  • 部分数据类型新增获取数值的方法。

    BasicDouble, BasicFloat, BasicInt, BasicLong, BasicShort, BasicByte

功能优化

  • 升级 FastJson 版本至2.0.33。

1.30.22.1

新增功能

  • 新增支持 DECIMAL128 数据类型。

  • DBConnection 方法新增参数 sqlStd,用于解析 SQL 语句。

功能优化

  • 优化了 BasicDBTask 的性能。

1.30.21.3

功能优化

  • Float 和 Double 类型的数据在满足绝对值小于0.000001或者大于1000000.0时,使用 getString 的返回值不再使用科学计数法。

1.30.21.1

新增功能

  • 所有 Vector 类新增 Append 方法。

  • 新增 AutoFitTableUpsert 类。

  • MultithreadedTableWriter 新增以 upsert 模式插入数据。

  • MultithreadedTableWriter 新增回调接口。

  • 支持通过 PartitionedTableAppender 向分布式表中插入 array vector。

  • 支持 DECIMAL 类型数据。

  • 支持流订阅通过 API 发起的连接接收数据。

功能优化

  • 优化了 array vector 应用 getRowJson 后的结果,使其符合 JSON 规范。

  • 优化了 API 交互流程,避免高可用场景下重复提交数据。

故障修复

  • 修复解析服务器返回 month(0)~month(11) 的结果时,显示数据不正确的问题。

  • 修复 MultithreadedTableWriter 向表中写入大量 array vector 数据时,报错 "connection has been closed"的问题。

  • 修复查询结果达到 268,435,455(即(2^32-1)/16)以上时发生数据紊乱的问题。

1.30.20.2

新增功能

  • 新增 BasicDecimal32, BasicDecimal64, BasicDecimal32Vector 和 BasicDecimal64Vector 类,用于创建 Decimal 类型数据。支持压缩后上传及下载 Decimal 类型数据。

  • MultithreadedTableWriter 类新增参数 callbackHandler 支持回调。

  • MultithreadedTableWriter 类支持写入 Decimal 类型数据。

  • MultithreadedTableWriter 类新增参数 modepModeOption 支持 append! 或 upsert! 两种方式更新表。

  • 新增 AutoFitTableUpsert 类及其 upsert 方法,以单线程方式 upsert! 表数据。

  • 修复 BasicTablegetRowJson 方法返回不规范 JSON 的问题。

  • 新增 Append 方法,支持向 Vector 种追加数据。

  • 支持通过 partitionedTableApender 向分布式表中写入 array vector 类型数据。

1.30.19.1

新增功能

  • 新增 StreamDeserializer 类,实现对异构流数据表的解析,同时,subscribe 函数新增 deserializer 参数,接收经 StreamDeserializer 解析后的数据。

  • 流订阅 subscribe 函数新增参数 userNamepassWord 支持输入登录用户名密码。

  • DBConnection.connect 支持 reconnect 参数,实现非高可用场景下,自动重连节点。

  • ExclusiveDBConnectionPool 新增支持以下参数:highAvailabilitySites, initialScript, compress, useSSL, usePython

  • DBConnection.connect 支持 usePython 参数,支持解析 python 脚本。

  • 新增 BasicTableSchema 类用于存储 BasicTable 的 rows, cols, colName, colType 等信息。

  • 在 DBConnection.run 中增加参数 tableName 参数用于在查询表时只读取表的 schema 信息而不读取整个表的数据,目前只支持内存表。

  • subscribe 函数支持批量处理订阅消息。

  • 提供分布式库并行写入接口,数据自动按分区规划通过连接池并行入库。

功能优化

  • 通过 API 连接集群服务器时,实现请求的负载均衡。

  • 改进 ExclusiveDBConnectionPool 类,实现后台并发运行多个 DBConnection。

  • MultithreadedTableWriter 对象写入内存表时,参数 dbPathtableName 的设置发生改变:dbPath 需设置为空,tableName 需为内存表表名。

1.30.17.1

新增功能

  • 新增支持 COMPLEX, POINT, SYMBOL 数据类型。

  • 增加 MultithreadedTableWriter 类,支持对分布式表、内存表、维度表的多线程写入。且实现了加密通信、压缩传输和写入高可用等功能。

  • DBConnection 对象增加 compress 参数,支持数据的压缩上传与下载。

故障修复

  • 修复 API 高可用模式下,当数据节点安全关机后,Java API 无法切换到正常节点继续写入的问题。

  • 修复 API 订阅流数据表时出现的问题:

    • 订阅 window 版本 server 发布的流数据表时,出现 “Connection reset” 报错的问题。

    • 订阅 linux 版本 server 发布的流数据表时,出现因 API 卡住导致无法接收订阅数据的问题。