KOCA6.3.0升级说明

升级文档说明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低码组件

  1. 移动端管理 lcp-runtime-mobile-page

● 同步web端渲染器逻辑,支持DMAP移动端二次开发需求

● 同步原有web端渲染逻辑

● 同步原有web端设计器配置

● web/mobile设计器添加beforeLowCodeAppMount拓展功能

  1. 通用接口适配层 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文件中线程数和实际不一致的问题

影响范围:

  1. 使用6.3.0版本的koca-hare时,默认使用hare C++ 2.5.4, hare java API 1.8.3,若自行修改hare版本号需要注意该事项。需要升级koca-jstp-core至6.2.0及以上版本

  2. 若升级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工具类使用

影响范围:

  1. 因为shade spring部分类的影响,koca-kgbp-cli-jni升级到6.3.0以及以上版本,koca-jstp-core也必须升级到6.3.0以及以上版本

  2. 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 更新日志

新特性

缺陷修复

  • 修复无法关闭带中文参数路由页签问题

  • 修复用户打开菜单后,删除用户已打开菜单的权限,重新登录还会看到菜单

  • 修复主题切换时,子应用白屏

  • 修复主题切换时,顶部页签抖动

优化

  • 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

  • 新增属性 renderCustomOptionrenderLabelSlot

kui-input

  • 新增属性 trim

kui-page-v2

  • 新增组件,基于大数据表格的表单查询和数据展示

kui-table

  • 大数据表格支持 expand-level 属性,用于树形表格自动展开相应的层数

  • 表格导出的 exportFileName 支持设置为函数

  • 表格导出为 excel 时,支持设置标题

kui-dialog

  • 新增属性 cancelBtnPropsconfirmBtnProps

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 列内容没有居中

  • 表格列同时设置 typeprop 会报错

  • 远程筛选时,如果选中全部的筛选项,请求参数不携带该字段

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