升级文档说明6.3.0
1、后端
后端框架
依赖版本升级:
● netty-handler升级至4.1.118.Final,commons-lang3升级至3.18.0
安全认证(koca-auth)
● zk存储idToken的序列化方式更改为json
● 认证增加踢人后置处理,token过期接口
服务监控 (koca-boot-actuator)
● 添加bex指标监控
缓存(koca-cache)
● 支持根据服务聚合查询缓存数据
● 支持缓存名注册到注册中心的metadata
● 增加缓存同步结果回调接口
● 增加根据注册中心的缓存名进行多服务同步功能
注意事项:要求整个系统缓存名唯一,缓存名一样代表缓存的内容就是一致的,不区分服务
数据库操作(koca-jdbc)
● 修改使用jsqlparser方式
● 修改JdbcHelper优先从上下文读取数据源,再取默认数据源
● 修复SQL参数替换打印遇到特殊符号$和反斜杠无法处理的问题
bex引擎(koca-bex)
● 修复使用注解入参为List,或者xml配置第一级为list时入参映射报错的问题
● 新增区分对外和管理api前缀区分,具体使用见官网文档
koca-bex跳转插件(koca-bex-plugin)
● 兼容高版本IDEA
● 修复特定情况下不能从Java代码跳转到bex-xml的bug
koca-web
● 支持业务根据返回结果code自定义查询覆盖原有返回message
性能工具集(koca-optimizer)
● 新增高性能生成不带连字符的UUIDv4字符串工具
● 新增基于Ryu Double算法的高性能double转String和double转BigDecimal工具
辅助支持包(koca-support)
● 日志脱敏支持log4j2
启动耗时检测(koca-boot-startup-report)
● 新增启动耗时检测组件,具体使用方式见官网文档
技术组件
lcp低码组件
- 移动端管理 lcp-runtime-mobile-page
● 同步web端渲染器逻辑,支持DMAP移动端二次开发需求
● 同步原有web端渲染逻辑
● 同步原有web端设计器配置
● web/mobile设计器添加beforeLowCodeAppMount拓展功能
- 通用接口适配层 general-api-adapter
● 增加导入导出能力
● 适配通用流程事件
业务组件
定时任务(koca-admin-jobschedule)
● 任务流水id修改为long类型,并修改重载方法适配
● 定时任务流水支持排序;任务分组、执行结果多选查询
● 修复操作流水中执行详情未落库bug
● 启动加载任务时,不删除任务
流程管理(koca-admin-workflow):
● 增加消息触发接口
● 增加删除流程实例事件
● 修复流程预估时不存在流程变量时报错问题
● 待办查询开放active参数
通用导出(koca-admin-export):
● 优化字典翻译性能
● 字典翻译支持数组和隐藏key值
交易业务框架
行情客户端(koca-market)
● 新增【上海、深圳基金通】行情数据
● 【科创板盘后行情】缓存单独定个类型存放,不放在主行情缓存中
● 行情监控信息端点Endpoint新增分发任务队列深度字段
● 分发支持配置的形式控制分发的行情类别
● 支持监控指标采集
● 修复【上海科创板盘后和盘中行情】缓存数据覆盖问题
● 修复【深圳大宗盘后行情】获取不到产品信息里的decimalPoint字段值
● 修复【深圳大宗盘后行情】收盘、加权两种行情共有一个类覆盖问题
● 解包失败、数据解码异常、分发推送等增加异常处理及日志打印
● 调整逐笔缺漏查询逻辑,避免重复请求导致客户端行情数据消费阻塞
● 修复v2【期货产品信息、上海综合业务平台行情】结构体字段没对上
● 修复v1【股票Level-1和Level-2】缺失的字段
● 修复【股票或指数L2行情】[成交总量、成交笔数] 重复赋值同一个字段
● 补充缺失的产品信息查询
● 主行情、逐笔行情、转融通行情、港股行情缓存新增serviceId为主键,大宗行情缓存新增quoteType、serviceId为主键,避免缓存覆盖
● 修复v1/v2【港股买卖盘上下限价行情】买卖上下限等字段没被赋值
数据同步V2(koca-data-sync-v2)
● 异步发送策略下,添加通道分发器拉取条数配置
● 消息注册添加异步和同步模式
● 添加数据同步记录扩展消息
● 数据同步记录添加开始结束时间
● 聚合同步数据发送处理
● 修复rpc传参数为String类型,导致FS适配器序列化错误问题
● 时间字段变更使用Date类型,数据库使用TimeStamp类型
● 添加数据主键定义和数据主键存储功能
● 支持服务级别阻塞
● 通道分配时进行判断开启通道的实例参与分配
业务缓存(kace-cache)
● 修复loadFromDb数据库为null时,默认为1
高速消息通信框架(koca-hare)
● 升级默认C++ hare依赖(koca-hare-jni-loader-default)至2.5.4
● 服务端新增直接业务执行器接口,允许绕过Bex引擎执行业务,避免多余的协议转换(尽量少用,仅KGBP协议支持)
● 支持上报hare高可用状态指标,hare客户端/服务端线程池监控指标
● 支持通过配置功能号,等待多结果应答不校验一致性,并按照nodeId聚合结果
● 修复客户端接收多节点应答存在校验结果一致性存在的并发问题
● 修复hare启动之后在程序根目录下生成的最终生效conf文件中线程数和实际不一致的问题
影响范围:
-
使用6.3.0版本的koca-hare时,默认使用hare C++ 2.5.4, hare java API 1.8.3,若自行修改hare版本号需要注意该事项。需要升级koca-jstp-core至6.2.0及以上版本
-
若升级koca-hare至6.3.0版本,那么koca-hare-transfer-kgbp也需要升级至6.3.0及以上版本。
JSTP协议核心包(koca-jstp-core)
● 优化解包创建JavaBean实例对象性能
● 优化JDK8字符串解码性能
● 优化List类型打包性能
● 属性设置与类型解析剥离spring依赖,支持在没有spring依赖的环境下正常运行
影响范围: 因为shade spring部分类的影响,koca-kgbp-cli-jni升级到6.3.0以及以上版本,koca-jstp-core也必须升级到6.3.0以及以上版本
JSTP服务端(koca-jstp-server)
● 服务端支持开启业务线程池隔离,防止业务阻塞影响IO线程
● 服务端通道写入监控增加背压机制,遇到通道写入缓冲区不可用时,关闭通道自动读取IO任务,不再接收新的请求,直到可写状态恢复
● 精简服务端日志打印,合并多条日志为一条输出
● 服务端暴露连接指标,IO线程指标,业务线程指标,请求/响应指标,读取/写入指标
影响范围: 无
远程调用框架(koca-biz-prc)
● koca-kgbp-cli-jni 集合类型字段解包遇到空结果集设置为emptyList
● koca-rpc-jstp-client 首笔请求进行连接池预热,提前创建最小空闲连接数的连接
● koca-kgbp-client、koca-kgbp-sub-client 替换异步应答线程池队列为LinkedBlockingQueue,减少CPU消耗
● koca-kgbp-client 增加kgbp-client可选连接参数配置 && 修复连接工厂创建连接失败时,未释放资源问题影响范围:
● 修复koca-rpc-kgms-plugin在未依赖注册中心时读取KgmsHealthCheckConfiguration注解报错的问题
● koca-jstp-client、koca-kgbp-client连接池属性设置不依赖spring工具
● 修复koca-kgbp-cli-jni对于堆外字节数组拷贝不正确的问题
● 修复koca-kgbp-client响应包头debug输出 token 和 serviceName 长度不正确问题
● koca-kgbp-cli-jni 更新C++依赖 修复多线程并发调用日志回调接口造成的并发和程序崩溃问题
● koca-kgbp-cli-jni 更新C++依赖 修复主线程退出之后,因为C++ attach线程未退出而造成的主进程无法正常结束问题
● koca-kgbp-sub-client替换spring工具类使用
影响范围:
-
因为shade spring部分类的影响,koca-kgbp-cli-jni升级到6.3.0以及以上版本,koca-jstp-core也必须升级到6.3.0以及以上版本
-
koca-kgbp-cli-jni依赖存在升级,升级前需要清理程序根目录下搬运出来的老的DLL和SO依赖文件
链路追踪(koca-trace)
● 添加webflux链路追踪功能到koca-trace-core模块中
● 修复koca-trace-core模块中http链路追踪、webflux链路追踪功能在记录链路信息时traceInfo name使用错误的问题
● 修复链路信息转成json输出时,如果parentId为NULL,则写入null字符串而非数字0的问题
● koca-trace-core日志隔离组件依赖去除optional-true,后续会间接引入日志隔离组件依赖
影响范围:无
KMDB内存数据库(koca-mdb-core)
● 建表语句才进行语法转换,优化其他类型的sql执行性能
● 升级内存数据库依赖,SQL api 支持主库下的联表删除
● 升级内存数据库依赖,新增重置库API,允许不删除表结构数据库的情况下,快速删除整个内存库的数据
影响范围:6.3.0之前的版本升级到此版本需要铲库
2、 前端
升级指南
:::warning
@szkingdom.koca/template
@szkingdom.koca/ui
@szkingdom.koca.assets/template
@szkingdom.koca.assets/ui
以上四个包版本号中会存在带有a或者s
的版本,例如:6.0.0-a.20、6.0.0-s.1-1等,这是为了支持不同的项目场景提供的特殊版本,在项目中,如果用到了这些特殊版本,需要保持这四个包的版本号统一
(即同时为带a的版本或同时带s的版本)。
:::
V6.1.0 升级 V6.2.0
KOCA依赖升级
pnpm add @szkingdom.koca/ui@6.3.0 -s
pnpm add @szkingdom.koca/icons-vue@6.3.0 -s
pnpm add @szkingdom.koca/template@6.3.0 -s
pnpm add @szkingdom.koca/eslint-config@5.0.0 -s
pnpm add @szkingdom.koca/bundler-vite@6.3.0 -d
KOCA-TEMPLATE 更新日志
新特性
-
菜单选项的DOM元素上添加
data-testid
属性,用于支持自动化测试 -
页签支持通过鼠标滚轮滚动
-
框架支持宽松紧凑
缺陷修复
-
修复无法关闭带中文参数路由页签问题
-
修复用户打开菜单后,删除用户已打开菜单的权限,重新登录还会看到菜单
-
修复主题切换时,子应用白屏
-
修复主题切换时,顶部页签抖动
优化
-
tab页签高亮功能兼容meta.open为single的路由
-
去除项目根节点中
ElConfigProvider
对于全局size
属性的传递,统一使用html[data-size=]
设置全局组件size
-
调整菜单文本溢出时,tooltip 的位置
-
升级
pinia-plugin-persistedstate
插件 -
用户在项目中的设置将保存到
localStoage
中持久化生效
KOCA-UI更新日志
:::warning
组件库样式进行了重构,scss 变量传递的方式进行调整
旧:
@forward '@szkingdom.koca/ui/theme-chalk/src/index.scss' with (...);
新:
@forward '@szkingdom.koca/ui/theme-chalk/src/common/var.scss' with (...);
@use '@szkingdom.koca/ui/theme-chalk/src/index.scss';
:::
新特性
-
通过 scss 配置修改组件样式,从而实现主题切换,组件宽松紧凑切换
-
表单输入组件和按钮组件的 DOM 元素上添加
data-testid
属性,用于支持自动化测试
kui-time-select
- 支持 kui-form 表单配置
kui-select
-
新增属性
disabledToReadonly
-
新增属性
renderCustomOption
和renderLabelSlot
kui-input
- 新增属性
trim
kui-page-v2
- 新增组件,基于大数据表格的表单查询和数据展示
kui-table
-
大数据表格支持
expand-level
属性,用于树形表格自动展开相应的层数 -
表格导出的
exportFileName
支持设置为函数 -
表格导出为
excel
时,支持设置标题
kui-dialog
- 新增属性
cancelBtnProps
、confirmBtnProps
kui-bond
- 新增属性
queryOnVisible
缺陷修复
kui-input
- 修复
blur
事件会重复触发的问题
kui-tree-select
- 修复大数据模式时给 value 赋初始值,tag 标签不显示 label 而显示 value 的问题
kui-table-edit
-
默认宽度设置为
100%
,对齐之前版本el-table
为最外层容器时的样式 -
修复
addable
属性没有生效 -
修复
editable
为 false 时,移入还可以编辑
kui-tree
- 大数据树支持
filterNodeMethod
属性(与普通树对齐,但是参数不同)
kui-table
-
修复表格最后一列开启列排序和筛选后,筛选图标的位置错误,点击无反应
-
修复多级表头没有渲染表头文本的 tooltip
-
修复大数据表格关闭排序的逻辑错误
-
修复
scrollToRow
方法失效 -
修复表格导出
exportConfig.shouldUseExportFileApi
属性失效 -
修复使用表格的默认插槽时,鼠标移入单元格会出现两个 tooltip
-
优化表格组件中
popover
组件的默认渲染数量
kui-select
- 优化
filterable
时输入框宽度的计算,避免kui-select
内容换行
kui-message-box
- 修复
modal-class
属性失效
kui-slider
- 修复
append
插槽渲染了两次
kui-date
- type 设置
dates
时,组件渲染报错
kui-form
- 修复表单设置
preview
时,当表单项的值为 0 ,展示值为空的问题
kui-bond
- 修复精确查找一个证券后,回删再输入,下拉选择框不会自动弹出,点击输入框才能弹出
优化
kui-tree-grid
-
优化大数据时初始化加载数据卡顿的问题
-
添加 sortChange 事件监听
kui-bond
- 组件支持使用
trans-query-data
方法返回的数据
kui-tree
- 当节点的
withDataToBtn
返回空时,鼠标移入节点会抖动
kui-list
- 修复滚动条高度不会跟随数据数量变化。需要在项目中安装
@szkingdom.koca/patched-deps
包,并根据包中的文档进行配置
kui-table
-
select 列内容没有居中
-
表格列同时设置
type
和prop
会报错 -
远程筛选时,如果选中全部的筛选项,请求参数不携带该字段
kui-transfer
- 修改搜索的 placeholder 默认为中文
KACE-UI更新日志
新特性
-
通过scss配置修改组件样式,从而实现主题切换,组件宽松紧凑切换
-
表单输入组件和按钮组件的DOM元素上添加
data-testid
属性,用于支持自动化测试
kace-container
- 新增属性
search-props
kace-subject-select
- 新增属性
extendAuxItems
kace-meta-form
- 表单项支持配置
wrap
换行
kace-general-query
-
新增
api-prefix
属性 -
新增
data-process-callback
属性
缺陷修复
kace-client
- 修复点击面板内表格行报错问题
kace-ellipsis
- 优化文本超出时的判断逻辑,处理文本实际渲染时的width如果包含小数,导致判断错误
kace-fund-select
- 在表单中使用时,已选中数据没有高亮
kace-collapse
- 新增属性
show-title-background
kace-general-query
-
通用查询分页最大值初始化时赋值错误
-
新增属性
use-custom-table