规则引擎SDK
2024-08-12 15:46:44 1 举报
规则引擎SDK
作者其他创作
大纲/内容
差规、同步规则发布、决策流变更
判断value
rule-core2
rule-core
计数器不为空时先计数
启动监听线程(eventRunner)监听key(event_listener_key)-field(ruleChangeCacheField)
脚本编译
rule-core3
计算非延迟变量按深度分组calcVariable
ExpressionBuilder规则转脚本表达式
计算延迟变量
查询所有决策流配置
本地缓存
规则执行execute
feign调用
判断缓存是否存在
nacos事件监听
publishConfig
ruleChangeHandler
InitializingBean#afterPropertiesSet
flowDetailJSON
规则执行
根据租户id和决策流编号查询决策流配置明细
规则刷新
执行策略组表达式规则计算
获取flowNo+tenantId
executeSingle
记录侦测日志
ruleChangeCacheField
rule-mgr
eventListenerMapCache
服务启动
flowMapCache
是
生成规则监听ruleChangeCacheField(UUID)并保存到本地缓存
value=\"noChange\"
event_listener_key
延迟执行InitRuleTask
租户+决策流维度本地缓存所有规则
计算策略组下的策略
rule-core1
否
ruleChange
groovyClassLoader编译转可执行Class
结构体转换(决策流转规则Event)
value(noChange、flowNO+tenantId)
重置ruleChangeCacheField为noChange
缓存(eventMap、scriptTable)
判断本地缓存是否存在
准备数据(根据入参loadData获取DocumentContext)
rule-core-sdk
获取策略组RuleGroups、策略信息Rules、变量Variables和计数器Count信息
调用redis保存ruleChangeCacheField
规则刷新监听处理
policy_flow_key
tenant_flowNo_field
0 条评论
下一页