跨界搬砖 2022-03-02 14:13 采纳率: 100%
浏览 368
已结题

java代码中定义sentinel的流控规则FlowRule不生效,请问应该怎么配置?

问题背景

这两天在学习spring cloud sentinel,了解到定义流控规则有几个方式:
方式1:sentinel-dashboard配置流控规则;(规则在内存中)
方式2:使用nacos管理定义规则的配置文件;(规则可持久化)
方式3:可在代码中初始化各种规则,如FlowRule。
我本地尝试了前两种都没有问题,网上查了一下,但是用第三种方式定义的时候不生效,不知道问题在哪?

问题相关代码
@Component
public class FlowRules {

    @PostConstruct
    private void initFlowQpsRule(){
        List<FlowRule> rules = new ArrayList<>();
        FlowRule rule =new FlowRule("test");
        rule.setControlBehavior(0);
        rule.setGrade(RuleConstant.FLOW_GRADE_QPS);
        rule.setCount(10);
        rule.setStrategy(0);
        rule.setClusterMode(false);
        rule.setLimitApp("default");
        FlowRuleManager.loadRules(rules);
    }
}
运行结果及报错内容

启动服务后,在sentinel-dashboard看不到我定义的流控规则,测试也没有起到流控的效果,无报错信息。

我的解答思路和尝试过的方法

查了下网上都是提供我贴的代码这种方式,没看到还有其他思路,不知道是不是少配置了什么东西还是配置方法就错了。

我想要达到的结果

希望能在代码中定义流控规则或其他规则,并能在dashboard中看到定义的规则,规则能够生效。

  • 写回答

2条回答 默认 最新

  • 冷冷的天气 2022-03-02 15:23
    关注

    rules.add(rule);
    把规则对象加入规则集合中

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 3月2日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵