34 Star 354 Fork 121

lykan / kstry-core

2023-11-12 22:39
1158816 kstry 1605536807 lykan

升级内容:

  • 流程支持从之间节点开始执行
  • 升级task-params方便微服务编排入参
  • 新增JSONPath支持,可以使用$前缀在StoryBus中更灵活的获取参数
  • 新增KstryThreadLocal在满足原生ThreadLocal使用场景的前提下,可以保证在Kstry框架中进行线程切换时ThreadLocal值不丢失
最后提交信息为: README
2023-09-01 02:59
1158816 kstry 1605536807 lykan

主页:http://kstry.cn
流程配置台:http://kstry.cn/modeler/

  • NoticeXxx、XxxTaskField、XxxTaskParam系列注解的字段名称由String改为String[],支持多级字段定义比如:good.base.id
  • 新增ScopeDataNotice组件,可以作为服务节点方法的返回值,用来指定需要通知到sta、var、res域的数据
最后提交信息为: V1.1.9
2023-08-29 00:45
1158816 kstry 1605536807 lykan
  • 字段与StoryBus交互、task-params参数读取等场景增加类型转换功能
  • 流程配置台:http://kstry.cn/modeler/
最后提交信息为: V1.1.8
2023-07-13 00:43
1158816 kstry 1605536807 lykan
  • 流程校验规则优化
  • 日志内容优化
最后提交信息为: 日志优化
2023-07-12 03:12
1158816 kstry 1605536807 lykan
  • @TaskService 注解增加 @Iterator 属性定义服务节点遍历相关参数
  • 新增 IterDataItem 对象提供获取遍历项及索引字段功能。节点遍历时,如果该类型在服务节点方法入参中被定义会自动注入
  • 节点遍历时,支持节点方法直接返回某遍历项处理后的结果(批量遍历需要返回list),支持Mono类型返回值,无论是否并发聚合后的遍历处理结果与遍历集合数据项顺序一致
  • StoryEngine新增 serialize 方法,该方法可以将容器中生效的流程序列化成json字符串,序列化后的Json字符串可直接解析成流程执行,与原流程无异
  • 新增 JsonProcessParser 组件,提供Json转可执行流程的功能。任何协议的图形文件只要转化成符合规范的Json都可被解析执行
  • 提供重新实现 SerializeTracking 功能的入口,可用来自定义 MonitorTracking 追踪的各节点出入参的解析规则,避免大对象序列化成Json时导致的资源占用过多问题
最后提交信息为: 1.1.6版本发布
2023-04-01 00:30
1158816 kstry 1605536807 lykan
  • 优化服务节点仅实现ParamLifecycle接口时没有被初始化问题
  • 优化Exp工具类支持自定义条件表达式函数
最后提交信息为: 1.1.5版本发布
2023-02-12 15:17
1158816 kstry 1605536807 lykan
  • @Invoke注解支持executor属性。用来使用名称从Spring容器中获取ThreadPoolExecutor实例,以此作为执行当前服务节点的执行器。如果指定但未从Spring中获取到执行器就会报错
  • ReqBuilder支持指定ThreadPoolExecutor实例,作为当前任务的执行器
  • 流程配置中的服务节点支持设置task-params来指定节点执行时的入参,指定入参获取方式会覆盖原来注解获取参数
  • 实现ExpressionAliasRegister注解,自定义条件表达式中的函数,可参考:BasicExpressionAliasRegister
  • 提供SpringParamLifecycle注解,提供了服务节点入参初始化时获取Spring上下文的方式
  • 提供Exp工具类,用以组装流程定义中的条件表达式
最后提交信息为: 1.1.4 版本
2023-02-02 01:04
1158816 kstry 1605536807 lykan
  • @Invoke注解增加retryIncludeExp/retryExcludeExp属性,指定包含/不包含某些异常时,执行重试
  • 流程条件表达式支持o{数字}: 表达式(比如:o1: sta.name != null ),来定义多支路时的执行顺序,未指定顺序时表达式默认为最低优先级
  • 流程配置中未指定节点名称时,尝试获取@TaskService注解的desc属性作为name
最后提交信息为: 1.1.3 版本
2023-01-20 12:47
1158816 kstry 1605536807 lykan
  • TaskComponent、TaskService 注解name变为非必填字段,默认会分别取类名、方法名首字母小写作为组件和服务节点名称
  • 异常情况日志提示优化
  • 支持使用Lambda表达式定义流程
最后提交信息为: 1.1.2 版本
2023-01-09 23:49
1158816 kstry 1605536807 lykan
  • 解决服务节点集成或实现泛型方法时启动失败问题
最后提交信息为: 1.1.1版本
2023-01-06 12:24
1158816 kstry 1605536807 lykan

新增功能:

  • 主流程、子流程、角色、变量支持动态获取
  • 提供线程切换钩子ThreadSwitchHook,线程切换时传递数据
  • 提供自定义指令,脚本节点功能
  • 提供服务节点拦截器功能

与1.0.x版本不兼容地方:

  • ParamLifecycle接口的beforeafter方法增加ScopeDataOperator入参
  • @TaskService注解去掉targetType属性,该属性原本是当返回值是Mono时用来指定泛型类型的,新版本已可以自动解析
  • BpmnLik更名为ProcessLisk用来定义主流程
  • @CustomRole注解从修饰类改成修饰方法,使用更加灵活
最后提交信息为: readme
2022-11-18 01:34
1158816 kstry 1605536807 lykan
  • 日志、监控工具优化
  • 流程定义中的服务节点支持分别自定义参数
  • 条件表达式解析策略优化
最后提交信息为: 1.0.11版本
2022-11-07 11:51
1158816 kstry 1605536807 lykan
  • 提供代码定义流程图方式 定义演示
  • 降级方法不再要求与目标方法有相同的出入参
  • 流程中定义的非允许为空的服务节点如果没有被实现,会在启动时报错(之前版本是在执行期间报错)
最后提交信息为: 文档修改
2022-10-17 02:28
1158816 kstry 1605536807 lykan
  • POM依赖调整
  • 表达式 result 取值,改成 res
  • 日志信息优化
  • BusinessException业务异常信息补充
最后提交信息为: 1.0.9版本
2022-08-28 03:00
1158816 kstry 1605536807 lykan
  • 支持指定StoryBus中的集合资源,在服务节点、子任务维度对集合中的每一项进行遍历执行
  • 使用详情
2022-07-13 00:41
1158816 kstry 1605536807 lykan
  • 继承场景中,支持仅扫描子类服务节点用以提供服务,不扫描父类中的服务节点
  • 细节点优化
  • 日志、错误码优化
  • 解决服务节点返回基本数据类型异常问题
2022-05-11 20:04
1158816 kstry 1605536807 lykan

升级如下:

  • 服务节点执行支持定义超时时间、重试次数、失败降级
  • 子流程支持定义超时时间。可以定义拦截器,在子流程执行前、执行后、执行异常、最终一定执行四个阶段进行自定义操作
  • 子流程支持非严格模式,非严格模式下的子流程出现超时或异常时仅会中断子流程,外围流程会继续
  • 服务节点入参支持定义 ScopeDataOperator,可通过该对象读取、写入StoryBus中保存的变量
最后提交信息为: 新版本发布
Java
1
https://gitee.com/kstry/kstry-core.git
git@gitee.com:kstry/kstry-core.git
kstry
kstry-core
kstry-core

搜索帮助