Gobrs-Async Gobrs-Async
🚘首页
🧧指南
🍭FAQ
💖支持
🚨加入群聊
🍅GitEE (opens new window)
GitHub (opens new window)
🚘首页
🧧指南
🍭FAQ
💖支持
🚨加入群聊
🍅GitEE (opens new window)
GitHub (opens new window)
  • 🥪项目特性

    • 🍿框架设计
  • 🎒框架设计

    • 🥧简介
    • 🍿框架设计
    • 🍍框架落地
  • 🍖快速开始

    • 🍔快速上手
    • 🌭框架集成
    • 🥤启动流程
    • 🍪流程参数
    • 🏝流程结果
  • 🥘规则配置

    • 🍅规则配置
  • 🥊任务类型

    • 🍅普通任务
    • 💥重试任务
    • ☄️事务任务
    • 🌈超时任务
    • ⛱方法任务
  • 🔥高级特性

    • 💐线程复用
    • 🧋运行日志
    • 🍜规则热更新
      • 热更新规则
        • 验证
    • 🍑任务中断
    • 🌺可选子流程
    • 🌹状态流程
    • 🍒异常拦截
    • 🥪全局任务拦截
    • 🍏自定义线程池
    • 🍒可选的执行流程
  • 🚐插件

    • 🛻插件简介
    • 🏚监控系列

      • ⛽️skywalkiing
      • 🏖hippo4j
    • 🛸日志系列

      • 🚧全链路traceId
  • 🍿性能考量

    • 🍎框架压测
    • 🍹框架对比
    • 🧅版本号手册
  • 🌕展望

    • 🍊展望
  • 🍯联系作者

    • 🥐加群沟通
目录

🍜规则热更新

# 热更新规则

在Gobrs-Async中默认规则只会加载一次,可能有朋友可能会有规则动态变化的需求,使用程序动态修改规则配置。而不需要重新启动程序。那么对于这种需求 Gobrs-Async 同样支持。

Gobrs-Async 默认使用CopyOnWrite 机制更新的规则配置,并发度更高。同时维护了线程安全机制。

注入 RuleThermalLoad对象,调用 load 方法即可完成动态更新流程规则配置。

public class RuleMethodConfigUpdate {

    @Autowired(required = false)
    private RuleThermalLoad ruleThermalLoad;


    /**
     * Update com.gobrs.async.rule.
     *
     * @param rule the com.gobrs.async.rule
     */
    @Test
    public void updateRule(GobrsAsyncRule rule) {
        GobrsAsyncRule r = new GobrsAsyncRule();
        r.setName("anyConditionGeneral");
        r.setContent("AService->CService->EService->GService; BService->DService->FService->HService;");
        ruleThermalLoad.load(rule);
    }
}

# 验证

如果日志打印如下提示,说明配置热更新成功

com.gobrs.async.engine.RuleThermalLoad   : rule test update success
Last Updated: 1/7/2023, 1:49:29 AM
🧋运行日志
🍑任务中断

← 🧋运行日志 🍑任务中断→

最近更新
更多文章>
Gobrs-Async | Copyright © 2022-2023 Memorydoc | Apache License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式