开发者社区 > 云原生 > 中间件 > 正文

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

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

展开
收起
范zzhaha 2023-05-17 13:50:36 130 0
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
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:

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

相关电子书

更多
阿里云容器 AHAS Sentinel 网关流控揭秘 立即下载
workshop专场-微服务专场-开发者动手实践营-微服务-使用Sentinel进行微服务流量控制 立即下载
Sentinel分布式系统下的流量防卫兵 立即下载