@SentinelResource注解没有加 blockHandler 使用blockHandlerClass 替代。
@SentinelResource( value = "client/log/save", blockHandlerClass = DiscoveryClientControllerBackHandler.class, fallbackClass = DiscoveryClientControllerFallBackHandler.class )
发现后台日志打印 com.alibaba.csp.sentinel.slots.block.flow.FlowException: null
前端显示 This application has no explicit mapping for /error, so you are seeing this as a fallback.
Sat Nov 16 22:43:32 CST 2019 There was an unexpected error (type=Internal Server Error, status=500). No message available
不是DiscoveryClientControllerBackHandler设定好的内容。
debug 发现代码
继续跳转到 handleFallback 处理类上
也是同样的问题。
同样直接返回null
以下是我的版本信息 spring cloud alibaba 版本 2.1.0.RELEASE spring cloud 版本 Greenwich.RELEASE spring boot 版本 2.1.7.RELEASE
sentinel 版本 是1.6.3
原提问者GitHub用户Hpxianliru
仔细看下文档,blockHandlerClass 要搭配 blockHandler 用的,用于指定 blockHandler 函数所在的类:https://github.com/alibaba/Sentinel/wiki/注解支持#sentinelresource-注解
原回答者GitHub用户sczyh30
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。