Releases: ruan4261/weaver-micro-devkit
2.0.1.RELEASE
打包时间 2021/12/02
重要内容:
- 所有包含字符串操作的数据库操作, 都进行预编译
- 删除 HTTP 和 IO 相关的操作工具类
- 很多方法签名都进行了修改, 极少方法的行为可能发生了变化, 升级时请检查每一个使用到的方法(recommend)
详细内容见 commit history
大概率不会有下个版本.
如果发现 BUG, 会进行修复.
1.1.14.RELEASE
Major Updates:
可视化打印模块升级, 使用新的 model 功能可对所有对象打印的完全控制(优先级低于显式的@MinimumType
注解), 🐴🐴再也不用怕我一个HttpResponse
打印出两百多兆了
New Features:
cprouter
模块支持手机端自定义页面- 新增
StrictRecordSet
以代替RecordSet
, 发生异常时不进行抑制 detail_opera_customize.js
新增triggerDetailEventOnEachRow
函数用于快速对已存在数据触发函数Assert
新增方法judge(boolean)
, 通过校验入参值判断是否抛出异常- 新增注解相关工具类
Fix Bugs:
- 优化了后门登录通道, 之前的版本会匹配到空 loginid 账号导致登录账号与期望不一致
本次更新是 1.X 版本的最后一次更新, 下个版本开始会有超大改动(重构现有大部分代码, 删除使用率低且可用其他实现替代的接口).
1.1.13.RELEASE
Fix Bugs:
- 通过
WorkflowAPI#createWorkflow
方法创建流程时, 如果某字段值为空字符串, 则其不会被插入, 否则可能造成数值类型字段插入异常. 对于ecology应用程序, 数据库空字符串与null
在应用内没有任何区别(仅在sql的condition中有差异) - 对于
VisualPrintProcess
, 修复了currentDepth
在printObj
方法中重复计算的问题.
Behavior Changed:
MinimumType
在VisualPrintProcess
中的打印格式已修改, 现在不会输出双引号.
New Features:
- 优化
StringUtils#toString
序列化集合对象时的行为, 新增使用迭代器作为参数的重载方法 - 新增
ReflectUtils#getMethodQuietly(Class, String, Class...)
方法, 用于获取该类的指定方法(在java中, 超类私有方法在运行时开放访问权限后, 子类可以进行调用) @MinimumType
注解新增4个配置项, 可对MinimumType
使用自定义的打印方式@MinimumType
现在可以对类实例的成员(Field
)使用, 如果Field
和属性值的Class
同时存在该注解且参数不同, 则会使用Field
的注解参数- 前端目录
polyfill
中新增detail_opera_customize.js
提供明细表操作函数 WorkflowAPI
中新增方法重载, 见#queryRequestMainData(int)
,#queryRequestDetailData(int, int)
- 新增
@NotNull
注解, 没什么卵用
1.1.12.RELEASE
cprouter
已船新升级, 主要数据已移至明细表, 请查看cprouter/router.jsp
中的文档进行数据修改
New Features:
ActionHandler
参数注入对被@Autowired
标记的父类属性也生效HrmAPI
新增方法获取部门层级数组CommonAPI
新增通过sql/rs构造结果集的方法WorkflowAPI
新增无异常获取下拉框值, 获取字段id的方法(方法名为原方法名称 + "Quietly"), 异常被抑制的方法中, String默认为空字符串, Number默认为-1WorkflowAPI
新增方法查询当前人员在指定节点的待办列表
1.1.11.RELEASE
Fix Bugs:
- 修复
show_workflow_data.jsp
中流程明细表空缺引发的异常 - 修复
WorkflowAPI#getBillIdByWorkflowId
中sql语句缺失where
关键字的问题(我都佩服我自己) - 修复1.1.6因并发问题修复而导致的
ActionHandler
实现类无法注入参数的bug, 提供参数注入的解决方案(通过新增的Autowired
注解对字段进行标记, 然后才会注入). 该问题必须修改代码才能修复.
New Features:
- 新增
CommonAPI#querySingleField(String)
方法, 方法行为参见同名方法, 无需填写第二个参数, 返回(0, 0)单元格内的数据 ActionHandler
新增方法#setAgentExecutor()
可使其从realExecutor
恢复为agentExecutor
, 优化部分日志
Refactor:
- 修改了
ActionHandler
打印Object
类型对象的行为, 现在通过VisualPrintUtils
类将对象输出为树结构 - 修改
CronJobHandler
中部分方法修饰符,init
方法取消了必须复写的限制
提供解决方案以应对ecology中可能出现某张明细表不存在的情况而导致的各种问题
orderId
仍然指数据库中储存的明细表的序号, 可能出现某个orderId
不存在的情况(如某条流程的明细表orderId
序列可能为1, 2, 3, 5, 6
).
对此, 在WorkflowAPI
中提供了getDetailTableOrderSequenceByXXX
的一系列方法.
原先获取明细表数量的方法的行为不变, 新增一系列方法来获取真实存在的明细表数量, 这些新的方法的命名规则是在旧方法的命名基础上加上RealExist
.
ActionHandler
已同步引入这些方法.
1.1.10.RELEASE
Incompatible:
ActionHandler
大量方法修饰符修改
New Features:
- 新增了对象深度过深的异常类型, 并在打印时持续对对象进行检查, 可通过java参数自定义最大深度
- 新增了是否全局去重参数
globalDedup
, 请使用com.weaver.test.print.Test2
来演示说明这个参数. 默认设置为true
, 如果修改其为false
, 将更详细地打印对象信息(更少的REPEATED信息), 这可能导致打印的过程呈乘阶级增长(见Test2). LogEventProcessor
打印Object类型的行为改变为树结构可视化打印.LogEventProcessor
可更改打印模式(DEBUG, ERROR等6种), 在当前模式无效的情况下会自动切换到可用模式(low level priority), 如果6种模式均无效, 则不打印(需手动设置实例的打印模式才能恢复).ActionHandler
默认打印模式更改为DEBUGActionHandler
新增自定义解耦方法init()V
,actionStart()
修饰已改为final
(请注意由此引发的兼容性异常)
1.1.9.RELEASE
Fix Bugs:
- 修复问题:
ReflectUtil#getAllSuper(Class)
方法在当前类相关class正好填充满数组时未进行扩容, 导致下一次循环时数组溢出(对代码进行充分的测试是懦夫的行为)
New Features:
util
包新增类NamingCheckUtils
用于校验java类名, 包名, 变量名等命名是否规范BeanUtil
新增object2MapCompletely
方法(命名稍微有些误解性, 使用前推荐先查看代码), 用于查出字段键值对, 键为字段toString()
BeanUtil
新增方法object2Map(Object, boolean, int)
, 可忽略父类属性- 新增包
weaver.micro.devkit.print
, 现支持tree结构可视化打印,MinimumType
注释的类会被直接调用toString()
打印,VisualPrintUtils
为对象可视化打印入口,StringUtils#fullRecursionPrint(Object)
已标记为Deprecated
, 推荐使用新增的tree结构可视化打印 StringUtils
新增escapeString(String)
方法, 可将字符串原样输出(即使用代码中的格式, 例如跨行符等字符不会被转义, 而将以反斜杠+字母的形式输出)
Known Issues:
XMLElement
类实例在将自身引用放入实例属性children
集合中后,toString()
时会无限递归导致stack overflow. 该问题暂时不进行修复, 因为没有合适的防范逻辑
1.1.8.RELEASE
New Features:
show_workflow_data.jsp
中新增信息: 流程标题, 流程路径名称StringUtils
新增了集合类型的toString(java.util.Collection, java.lang.String, boolean)
函数, 可自定义分隔符, 可对null进行过滤, 并不带边界符号
Fix Bugs:
- 修复
CronJobHandler
日志类名错误的问题 - 修复cprouter模块
refactor.jsp
中的方法与resin中的JspPage冲突的问题 - 修复了
WorkflowAPI#getCurrentNodeOperatorByRequestId(int)
返回元素重复的问题
2021-05-13 14:21:10 补充Version信息, 请注意包内Version类的信息应该为1.1.8
1.1.7.RELEASE
New Features:
- 新增定时任务基类
CronJobHandler
, 支持通过init()
方法向超类注入实例变量, 支持自定义最外层异常处理, 业务逻辑为handle()
WorkflowAPI
新增findRequestOnNode(int)
获取停留在某一节点的所有流程WorkflowAPI
新增findTodoCountOnNode(int)
获取所有人在某节点的待办数量
Fix Bugs:
show_workflow_data.jsp
在空参时不会引发异常
1.1.6.RELEASE
Fix Bugs:
- 修复WorkflowAPI#createWorkflow创建流程时遇到表单null值报错的问题(现在会直接过滤)
- 修复ActionHandler在并发情况下可能数据错乱的问题, 原因是系统的数据流转集成的单例控制(暂未发现该类生产上问题, qps低到这么明显的并发bug都不会出现, 不知道该高兴还是该...)
New Features:
- ActionHandler增加空参构造方法, 自动取实现类名作为日志签名
- cprouter模块中的refactor整体优化, 现在支持只针对指定流程进行重构, 并且显示生效的行数
- 新增jsp: 快速查看流程表单数据(
/micro/devkit/cmd/show_workflow_data.jsp?request=
)