检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
自定义降级方法不生效 问题描述 自定义降级方法不生效。 解决方案 请排查自定义降级方法的定义的限制。 方法列表需要和原方法一致,此外要额外添加一个Throwable的参数,放在参数列表的最后一个。 方法的返回值要和原方法保持一致。 方法的修饰类型要大于原方法。如:原方法是public
在项目启动时报NPE问题 问题描述 在项目启动时,报如图1所示问题。 图1 NPE报错 解决方案 用户需要排查是否在项目启动时使用到了clientcontrol的功能,如在启动时使用了clientcontrol的功能,需要保证clientcontrol要优先初始化。可以在使用到clientcontrol
组件纳管的依赖包和版本 组件纳管的依赖包 spring-boot-starter-huawei包含的依赖包(代码中pom可不引入相关依赖)。 表1 spring-boot-starter-huawei包含的依赖包 包名groupId:artifactId 备注 org.springframework
devspore-clientcontrol使用概述 本文主要描述如何通过devspore-clientcontrol在代码中使用超时、重试、熔断和降级的功能。 开发能力要求 您需具备以下开发能力: 熟悉Java语言,并有Java程序开发经验。 熟悉Maven。 基础开发环境准备
支持注解形式自定义监控指标 使用场景 为了方便用户更加快速、便捷的使用micrometer定义自己的监控指标,devspore-probe提供了注解的方式去快速的定义监控指标,避免了定义复杂的监控类。 如何使用 项目中引入devspore-probe依赖,在项目的pom.xml中添加下面的配置
自定义降级 clientcontrol提供了自定义降级的功能。当目标业务代码报错时,如果用户想要执行自定义的降级逻辑可以参考以下配置。具体使用方式如下: pom文件添加依赖。 配置文件,参考下面配置样例。 devspore: client-control: caches
找不到createMultiZonClient的bean 问题描述 当使用缓存功能,并且缓存组件使用的redis时,报如图所示的异常。 图1 报错异常 解决方案 使用devspore-dcs连接redis。 devspore-dcs会默认创建一个bean名称为createMultiZoneClient
redis故障后clientcontrol的处理逻辑是什么 当clientcontrol的缓存类型配置为redis时,此时clientcontrol相当于是redis的使用方,redis自身的配置(超时时间,重试等)还是服务自己设置的,跟clientcontrol没有关系。 clientcontrol
使用swagger进行在线API文档配置 文档配置 spring-boot-starter-huawei添加了swagger2和swagger3包的依赖,API在线文档使用springdoc-openapi-ui。springdoc基本配置较为简单,如下所示: springdoc:
devspore-auth自定义token解析认证 模块依赖设计图 图1 devspore-auth插件依赖 图2 模块依赖图 开发环境准备 需提前安装的工具,包括JDK、Maven、Eclipse和IDEA,配置对应的环境变量,确保本地开发环境可用。 工作原理 引入devspore-auth-starter
缓存优先 clientcontrol提供了一种名为缓存优先的功能。当使用缓存优先功能时,在执行目标业务代码时,优先会查询缓存,如果缓存存在则返回缓存结果,如果缓存不存在则执行目标业务代码。 当使用缓存优先时clientcontrol的处理逻辑如下: 读取缓存,判断是否是性能缓存。
服务优先 clientcontrol提供了一种名为服务优先的功能。当使用服务优先功能时,在执行目标业务代码时,优先执行业务代码并返回,如果业务代码报错则去查询缓存并返回。具体使用方式如下: pom文件添加依赖。 配置文件,参考下面配置样例。 devspore: client-control
使用指南 添加依赖 代码中添加spring-boot-starter-huawei-devspore-auth-oneaccess依赖。 <dependency> <groupId>com.huaweicloud.devspore</groupId> <artifactId>spring-boot-starter-huawei-devspore-auth-oneaccess
监控数据自动上报AOM平台 使用场景 devspore-probe支持将微服务中的监控指标及数据自动上报到AOM平台,用户可在AOM平台上通过指标名称、标签等过滤并分析监控数据。 相关概念 应用运维管理(Application Operations Management),简称AOM
自定义缓存key读取失败 问题描述 运行时报错com.huaweicloud.devspore.clientcontrol.core.ClientControlCacheComponent] [ERROR] - [Expression [xxxxx] @xx: ELxxxx]。 解决方案
使用spring-boot-starter-huawei组件 spring-boot-starter-huawei组件具备开发一个基本的基于spring-boot的web项目的基本依赖,使用时只需将该组件的坐标添加到工程的pom文件中即可。 使用方式 直接作为dependency依赖引入
优势 基础组件归一,与华为云三方件要求实时同步,安全漏洞快速升级。 Java Spring基础上增强标准日志、依赖管理、参数校验等功能,大幅提升存量服务改造效率。
clientcontrol中ttl和performanceTtl的具体含义是什么 Cache配置有两个ttl,一个ttl(可靠性缓存)和一个performanceTtl(性能缓存)。 存在误解这两个为是两个缓存,其实缓存只有一个。 实际给缓存设置的缓存过期时间为ttl配置,缓存存入的时候
访问熔断状态的方法时报错异常 问题描述 运行时报错Request processing failed; nested exception is io.github.resilience4j.circuitbreaker.CallNotPermittedException: CircuitBreaker
熔断器打开,导致方法调用失败 问题描述 熔断器打开,导致方法调用失败。 解决方案 在没有使用自定义降级方法和缓存的时候,原方法如果调用失败会抛出方法原始出的错误。 如果使用了自定义降级方法。 熔断前:自定义降级方法中添加的最后一个异常的参数封装的就是原方法的异常。 熔断后:最后一个异常参数会固定抛出