目前 Sentinel Transport 里面可否自己扩展添加 command?

目前 Sentinel Transport 里面可否自己扩展添加 command?

展开
收起
范zzhaha 2023-05-17 13:50:36 185 分享 版权
1 条回答
写回答
取消 提交回答
  • 可以的,用户可以自行实现 CommandHandler 接口,并在实现类上加上 @CommandMapping 注解(代表 command name)。接着在资源目录下的 META-INF/services 目录下添加 com.alibaba.csp.sentinel.command.CommandHandler 文件(如果没有的话),在文件里加上自己的实现类的全名即可。比如:

    package io.test;

    @CommandMapping(name = "test") public class TestCommandHandler implements CommandHandler {

    @Override
    public CommandResponse<String> handle(CommandRequest request) {
        return CommandResponse.ofSuccess("666");
    }
    

    } 在自己项目目录下的 resources/META-INF/services/com.alibaba.csp.sentinel.command.CommandHandler 文件中添加:

    io.test.TestCommandHandler

    这样初始化 Sentinel Transport Server 的时候,对应的 command 就会自动注册,可以通过 curl host:ip/test 来验证是否成功。

    2023-05-17 13:52:00
    赞同 展开评论
问答分类:
问答标签:
问答地址:

为企业提供高效、稳定、易扩展的中间件产品。

热门讨论

热门文章

还有其他疑问?
咨询AI助理