检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
processors: bean1,bean2 出口插件 实现exit插件。 devspore-horizon提供了接口Observer,用户需要实现这个接口的observe(DataEvent dataEvent)方法,把变更通知、更新缓存、统一审计、统一工作流的处理逻辑写到此方法体内即可。
使用spring-boot-huawei组件 spring-boot-huawei是一个管理jar包的SDK,主要帮助用户管理一些常用sdk的依赖版本。 使用方式 当前spring-boot-huawei各功能模块以jar包的方式提供起始依赖,自动加入实现该模块功能的jar依赖,
无法获取本地线程变量 问题描述 ClientControl的超时功能是搭配线程池使用的,所以当使用本地线程变量的时候会导致无法获取线程变量的问题。 解决方案 这种情况一般推荐使用远程调用自带的超时控制,将ClientControl的超时功能关闭。 提前获取需要的信息,传入加了@ClientControl注解的方法中。
中相关操作上会带有@Extension注解。 // 普通增删改查接口 @Extension(operation = Operation.CREATE, name = "Project") // 用户自定义扩展接口 @Extension(operation = Operation
OPEN_FEIGN OPEN_FEIGN 客户端依赖类型 不支持 SDK SDK METHOD 支持请求入口出口插件 不支持 支持 支持 生成策略 关闭API中根对象前缀 不支持 支持 支持 多租模型,对象支持多租 不支持 Tenant Tenant 租户验证方式 不支持 Header Token
自定义降级方法不生效 问题描述 自定义降级方法不生效。 解决方案 请排查自定义降级方法的定义的限制。 方法列表需要和原方法一致,此外要额外添加一个Throwable的参数,放在参数列表的最后一个。 方法的返回值要和原方法保持一致。 方法的修饰类型要大于原方法。如:原方法是publ
在项目启动时报NPE问题 问题描述 在项目启动时,报如图1所示问题。 图1 NPE报错 解决方案 用户需要排查是否在项目启动时使用到了clientcontrol的功能,如在启动时使用了clientcontrol的功能,需要保证clientcontrol要优先初始化。可以在使用到c
支持注解形式自定义监控指标 使用场景 为了方便用户更加快速、便捷的使用micrometer定义自己的监控指标,devspore-probe提供了注解的方式去快速的定义监控指标,避免了定义复杂的监控类。 如何使用 项目中引入devspore-probe依赖,在项目的pom.xml中添加下面的配置。
自定义降级 clientcontrol提供了自定义降级的功能。当目标业务代码报错时,如果用户想要执行自定义的降级逻辑可以参考以下配置。具体使用方式如下: pom文件添加依赖。 配置文件,参考下面配置样例。 devspore: client-control: caches:
找不到createMultiZonClient的bean 问题描述 当使用缓存功能,并且缓存组件使用的redis时,报如图所示的异常。 图1 报错异常 解决方案 使用devspore-dcs连接redis。 devspore-dcs会默认创建一个bean名称为createMult
缓存优先 clientcontrol提供了一种名为缓存优先的功能。当使用缓存优先功能时,在执行目标业务代码时,优先会查询缓存,如果缓存存在则返回缓存结果,如果缓存不存在则执行目标业务代码。 当使用缓存优先时clientcontrol的处理逻辑如下: 读取缓存,判断是否是性能缓存。
服务优先 clientcontrol提供了一种名为服务优先的功能。当使用服务优先功能时,在执行目标业务代码时,优先执行业务代码并返回,如果业务代码报错则去查询缓存并返回。具体使用方式如下: pom文件添加依赖。 配置文件,参考下面配置样例。 devspore: client-control:
redis故障后clientcontrol的处理逻辑是什么 当clientcontrol的缓存类型配置为redis时,此时clientcontrol相当于是redis的使用方,redis自身的配置(超时时间,重试等)还是服务自己设置的,跟clientcontrol没有关系。 cl
监控数据自动上报AOM平台 使用场景 devspore-probe支持将微服务中的监控指标及数据自动上报到AOM平台,用户可在AOM平台上通过指标名称、标签等过滤并分析监控数据。 相关概念 应用运维管理(Application Operations Management),简称A
自定义缓存key读取失败 问题描述 运行时报错com.huaweicloud.devspore.clientcontrol.core.ClientControlCacheComponent] [ERROR] - [Expression [xxxxx] @xx: ELxxxx]。 解决方案
clientcontrol中ttl和performanceTtl的具体含义是什么 Cache配置有两个ttl,一个ttl(可靠性缓存)和一个performanceTtl(性能缓存)。 存在误解这两个为是两个缓存,其实缓存只有一个。 实际给缓存设置的缓存过期时间为ttl配置,缓存存
访问熔断状态的方法时报错异常 问题描述 运行时报错Request processing failed; nested exception is io.github.resilience4j.circuitbreaker.CallNotPermittedException: CircuitBreaker
熔断器打开,导致方法调用失败 问题描述 熔断器打开,导致方法调用失败。 解决方案 在没有使用自定义降级方法和缓存的时候,原方法如果调用失败会抛出方法原始出的错误。 如果使用了自定义降级方法。 熔断前:自定义降级方法中添加的最后一个异常的参数封装的就是原方法的异常。 熔断后:最后一个异常参数会固定抛出“io
支持领域驱动设计的建模,以及复杂关系建模,生成架构规范的代码框架,降低开发门槛。 安全可靠,内置稳定的安全防护能力。 内置业界优秀开发规范实践,内置编码规范、API规范和数据规范,提升企业研发质量。 平台预置云服务中间件接入、服务治理、通用基础能力提供 提供框架级内置组件,可结合建模业务使用和单独使用。
redis缓存不存在的属性反序列化 问题描述 redis在存入的时候,如果对象中存在is开头的方法,但是又没有具体的属性。那么在存入的时候,会将auth转换为一个属性存入缓存当中,在反序列化的时候就会报反序列化失败。 public boolean isAuth(){ return