后端框架
依赖版本升级:
● jsqlparser升级至4.9,mybatis升级至3.5.16,mybatis-plus升级至4.9,pagehelper升级至6.1.0
koca-mybatis
● 通用分页参数新增pageCount参数,类型bollean,false时不进行分页查询。
● 配置了mybatis.configuration.database-id, 则koca默认的DatabaseIdProvider bean不注册
● 支持不引入koca-hdb-function模块,仍能正常运行
● 优化mybatis batch扩展标签性能
● 支持info级别打印mybatis sql日志,业务绑定参数与SQL语句分开输出,以保证性能
● 修复debug日志级别下,通过插件拦截方式动态拼接的参数,无法找到对应的get方法导致sql打印报错的问题
● 调整mybatisInterceptor bean加载方式,避免不同扫描方式导致bean顺序控制不生效
多数据源(koca-multi-datasource)
● 解密属性绑定器访问标识符由default改为public,兼容业务使用场景
● 配置加密支持以用户名为密钥
koca-jdbc
● sql打印不换行:客户的日志采集平台没法对应日志前面的traceId spanId等信息
● 优化koca-jdbc日志打印sql的性能
JNI加载(koca-jni):
● 支持强制使用jar包里面的dll、so文件或者使用工作目录已存在的dll和so
安全认证(koca-auth)
● 修复使用redis作为session存储,namespace被配置覆盖后,在线用户获取不到的问题
● 优化zk存储idtoken时的刷新逻辑,解决并发问题
● 优化token模式下的sessionId会发生不停变化的问题。
● 新增支持enpoint进行独立的basic认证。
缓存(koca-cache)
● 提供缓存初始化加载/刷新成功回调
● 提供一种轻量的本地缓存同步机制,基于rpc
● 某个缓存是否加载目前只有正向开关,需要提供一个反向开发,配置不加载的缓存
● 缓存类型的配置提供一个全局配置,单个项里面的配置优先,其次全局的,都没有默认LOCAL
邮件发送(koca-mail)
● 配置的地址、账户密码正确性校验功能
● 修复邮箱ssl判断错误,导致未开启ssl的bug
加解密组件(koca-crypto):
● 新增以用户名为密钥进行加密
bex引擎(koca-bex):
● 优化bex参数设置性能
● 优化bex结果集后置增强性能
● 修复bex当请求参数类型为基础类型时,第二次调用开始空指针的问题
api接口nacos注册(koca-cloud-registry-api-nacos-discovery):
● 修复-1端口服务注册失败问题
api接口zookeeper注册(koca-cloud-registry-api-zookeeper-discovery):
● 修复开启缓存持久化后服务结束时报错Expected state [STARTED] was [STOPPED]的问题
koca-web:
● 统一异常处理增加业务自定义规则配置,详细见官网文档
● 服务端提供获取外网IP地址的API
koca-kcbp:
● 升级kcbpclient 到2.1.15-R, 支持KcbpClient设置字符集
koca-rpc:
● 修复ComponentScan可能修改加载顺序导致HttpProtocolProvider无法被加载的问题
通用工具(koca-common-tools)
● 优化TypeUtils.isWrapperType的性能
● 日志打印工具拓展warn和error级别日志打印方法
消息中心(koca-amc):
● 在任务执行时启动超时计时,避免排队时间计算在内导致超时控制不准确
统一线程池(koca-thread-pool)
● 调整minExecTime maxExecTime, totalTime的统计顺序,确保查询时显示正确
性能工具集(koca-optimizer)
● 新增特定场景高性能字符串转Long工具
业务组件
定时任务(koca-admin-jobschedule)
● 添加远程调用超时时间配置
● 增加异常错误日志打印
● 切换RpcClient调用,增加接口处理RpcInvokeContext
● 添加是否为交易日判断器功能
流程管理(koca-admin-workflow):
● 向前加签用户范围不设置时直接使用人员弹框
● 增加向前加签、向后加签回调,增加抄送事件
● 修复抄送时间查询错误问题
● 修复流程代理失败问题
● 修复代理日志无法查询问题
交易业务框架
数据同步V2(koca-data-sync-v2)
● 消息注册同步:rpc、kafka、hare、kcxp
● 时序控制处理同步
● 基于mybatis操作拦截同步
缓存(koca-assets-cache)
● 支持使用cacheHotDataTableSql对热点数据进行预热
● 支持cacheTableSql配置为’–'时,不执行sql语句
● 支持 eventNotifyEnabled通知开关对CacheTransactionManager同样生效
● 支持缓存重载
● 支持使用数据同步组件进行缓存同步
● 删除部分未使用代码
● 修复value为空是valueIsPojo未正确初始化问题
● 修复并发删除报错问题
● 修复启动并发addCache时元数据可能为null问题
● 修复BeanPropertyRowMapper并发问题
● 修复并发clear报错问题
● 修复事务提交时删除失效索引失败问题
● 修复crc计算时忽略字段报错问题
缓存同步(koca-assets-cache-sync)
● 添加基于koca-data-sync-v2的同步方式
行情客户端(koca-market)
●v1&v2新增港股市场行情
●修复上海意向大宗逐笔行情超时问题
●修复查询行情缓存价格类为null的情况
高速消息通信框架(koca-hare)
● 升级默认hare C++依赖为2.5.2,java API版本为1.8.3,C++ hare监控代理依赖至1.0.1
● 客户端和服务端线程池队列实现改为LinkedBlockingQueue,避免大量占用CPU
● 精简hare rpc日志打印,链路耗时信息在一条日志中输出,级别为info
● 响应解包操作交给请求发起线程处理,响应线程只负责通知请求发起线程
● hare客户端支持TCP模式下,在请求成功发出去之后,连接断开的情况下,通过hare连接回调通知主动取消客户端阻塞等待
● 修复响应解包时多线程操作context的线程安全问题
● 重构hare链路埋点逻辑,移除对koca-trace-core的依赖
影响范围:
-
使用6.2.0版本的koca-hare时,默认使用hare C++ 2.5.2,hare java API 1.8.3,若自行修改hare版本号需要注意该事项
-
需要升级koca-jstp-core至6.2.0及以上版本
-
若升级koca-hare至6.2.0版本,那么koca-hare-transfer-jstp和koca-hare-transfer-kgbp也需要升级至6.2.0及以上版本
-
如果6.2.0版本的koca-hare需要集成链路追踪能力,则需要引入6.2.0及以上版本的koca-trace-integration模块
JSTP协议核心包(koca-jstp-core)
● 203版本支持结果集分页打包与合并包
● 优化203版本结果集打包性能(主包体与结果集共用内存)
● 数组拷贝由Unsafe改为System.arraycopy,提升性能
● JDK8及以上字段名称编码性能优化
● varInt变长及定长编码底层逻辑优化
● 字符串类型解码移除trim操作,避免误处理不可见ASCII字符
影响范围: 需统一升级koca-jstp-core、koca-jstp-server、koca-jstp-client、koca-tcp-transfer-kgbp至6.2.0及以上版本
JSTP服务端(koca-jstp-server)
● 203包体KGBP请求响应自动分页,202包体为全量包
● 业务执行耗时统计排除响应打包耗时,显示真实业务耗时
● 请求完整包base64信息降为debug日志
● 链路适配接口定义与实现分离,统一由koca-trace-integration模块实现
影响范围: 6.2.0及以上版本的koca-jstp-server和koca-jstp-client集成链路追踪功能,需引入6.2.0及以上版本的koca-trace-integration模块
KGBP服务端(koca-kgbp-server)-使用Hare通信的多通道架构
● 修复java8以上版本funcId解码不正确问题
影响范围:无
远程调用框架(koca-biz-prc)
● koca-jstp-client 打包KGBP请求203版本自动分帧,202为全量包,
● koca-jstp-client 添加请求链路日志埋点,记录各步骤耗时
● koca-jstp-client,koca-kgbp-client,koca-kgbp-sub-client 链路适配改造,只负责定义接口,适配实现统一交由koca-trace-integration模块
● koca-kgbp-cli-jni 升级kgbp cli jni版本到 2.2.2.20250617
● koca-kgbp-cli-jni 添加放入和获取二进制包体接口
● koca-kgbp-sub-client 修复未开启心跳时,程序退出关闭心跳线程池报错问题
● koca-kgbp-sub-client 心跳超时单位改为秒,默认值10S,对齐业务使用与内部实现
● koca-kgbp-sub-client 连接断开时通过回调传递异常信息
影响范围:
-
需要升级koca-jstp-core至6.2.0及以上版本
-
6.2.0及以上版本的koca-jstp-client使用KGBP协议需要升级koca-tcp-transfer-kgbp至6.2.0及以上版本
-
6.2.0及以上版本的koca-jstp-client koca-kgbp-client koca-kgbp-sub-client集成链路追踪功能,需引入6.2.0及以上版本的koca-trace-integration模块
客户端连接池(koca-connection-pool)
● 采用ScheduledExecutorService实现心跳,提供优雅关闭实现,避免程序退出时强制睡眠30S
影响范围:无
链路追踪(koca-trace)
● 重构链路追踪实现,各个模块的链路实现全部移动到koca-trace-integration模块中
● 移除koca-trace-http模块,HTTP链路追踪功能已集成到koca-trace-core模块中
● 集成http客户端链路追踪功能,支持RestTemplate、FeignHTTP客户端的链路追踪
● 优化链路信息转json性能
● 链路信息时间精度调整为微秒,支持高精度时间戳
● http 作为服务端时,支持非B3规范链路在MDC中输出
● 修复span name存在空格的问题
影响范围:
-
该版本不再支持koca-trace-http模块,HTTP链路追踪功能已集成到koca-trace-core模块中。
-
不兼容6.2.0之前版本的链路追踪实现,需使用koca-trace-integration模块进行链路追踪集成。
-
建议koca-hare、koca-jstp-server、koca-jstp-client、koca-kgbp-client、koca-kgbp-sub-client等模块的版本升级到6.2.0及以上,以确保兼容性。
KMDB内存数据库(koca-mdb-core)
● 内存库底层依赖升级至4.2.5版本
●
影响范围:6.2.0之前的版本升级到此版本需要铲库