检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
常见问题 clientcontrol中ttl和performanceTtl的具体含义是什么 无法获取本地线程变量 redis缓存不存在的属性反序列化 找不到createMultiZonClient的bean 自定义缓存key读取失败 访问熔断状态的方法时报错异常 clientcontrol注解不生效
常见问题 问题描述 使用devspore-probe并开启上报监控数据到AOM后频繁打印日志:post metrics to aom success。 解决方案 在项目中添加配置参数:logging.level.com.huawei.devspore.probe=error,使得
使用场景 使用超时功能 使用重试功能 使用熔断降级功能 父主题: devspore-clientcontrol使用指南
熔断功能默认开启,当只使用重试功能时,需要手动关闭超时功能 enable: false 在目标方法上添加@ClientControl注解,且rule属性指定用户在配置文件中自定义的rules名称(本示例使用retryTest)。 // 在想要使用超时功能的方法上添加
使用指南 使用spring-boot-huawei组件 使用spring-boot-starter-huawei组件 组件纳管的依赖包和版本 父主题: spring-boot-huawei使用指南
"测试超时"; } 注意事项 当使用超时功能时,方法会运行在异步线程中,如在方法中使用了线程变量,会产生无法读取变量的问题。 使用超时功能时必须配置线程池devspore:client-control:biz-pool,具体参数配置请参考表1。 父主题: 使用场景
升级版本到2.1.7.JDK17-RELEASE。 将重试参数log-correlation-property设置为空字符串(“”)。 父主题: 常见问题
[xxxxx] @xx: ELxxxx]。 解决方案 此报错是因为使用了自定义缓存key的功能,注解中配置了@clientcontrol(rules='xxxx', key='xxxxxx')此处key的解析使用的是标准的spring的spel表达式的解析,如果报了如上错误,需要自行排查el表达式的写法是否正确。
在项目启动时,报如图1所示问题。 图1 NPE报错 解决方案 用户需要排查是否在项目启动时使用到了clientcontrol的功能,如在启动时使用了clientcontrol的功能,需要保证clientcontrol要优先初始化。可以在使用到clientcontrol功能的bean上加上@DependsO
个问题: 版本使用是否正确,如果用户使用的是jdk17、clientcontrol必须使用jdk17的版本,jdk17的版本在版本号中会有JDK17的标识,如 2.1.6.JDK17-RELEASE,不带JDK17的均为jdk8的版本。 是否在同一个类中调用了使用@clientcontrol注解的方法,
连同当前时间一同存入了,取出的时候就可以取出缓存存入时间,通过计算与performanceTtl进行比较得出是否是性能缓存。 父主题: 常见问题
ClientControl的超时功能是搭配线程池使用的,所以当使用本地线程变量的时候会导致无法获取线程变量的问题。 解决方案 这种情况一般推荐使用远程调用自带的超时控制,将ClientControl的超时功能关闭。 提前获取需要的信息,传入加了@ClientControl注解的方法中。 父主题: 常见问题
么 当clientcontrol的缓存类型配置为redis时,此时clientcontrol相当于是redis的使用方,redis自身的配置(超时时间,重试等)还是服务自己设置的,跟clientcontrol没有关系。 clientcontrol中有两个配置参数cache-con
在is方法上面添加@JsonIgnore注解。 @JsonIgnore public boolean isAuth(){ return false; } 父主题: 常见问题
找不到createMultiZonClient的bean 问题描述 当使用缓存功能,并且缓存组件使用的redis时,报如图所示的异常。 图1 报错异常 解决方案 使用devspore-dcs连接redis。 devspore-dcs会默认创建一个bean名称为createMult
使用组件 概述 组件是低代码开发的构建块,就像积木一样。它们是可重复使用的小部件,可以轻松搭建和管理网页。举个例子,按钮、导航栏和表单都可以是组件。这有助于您快速搭建网站。 下面介绍如何在低代码中使用组件,实现页面快速搭建。 从物料面板中添加组件 参考登录AstroPro界面中操作,登录AstroPro界面。
llBack' is OPEN and does not permit further calls。 解决方案 当程序报出这个错误时,说明使用了熔断功能,且此时方法处于熔断状态(熔断器状态为OPEN)。当访问熔断状态的方法时就会抛出这个异常。 熔断器的状态变化时,clientcontrol会打印出如下的日志:
使用熔断降级功能 缓存优先 服务优先 自定义降级 父主题: 使用场景
熔断器打开,导致方法调用失败 问题描述 熔断器打开,导致方法调用失败。 解决方案 在没有使用自定义降级方法和缓存的时候,原方法如果调用失败会抛出方法原始出的错误。 如果使用了自定义降级方法。 熔断前:自定义降级方法中添加的最后一个异常的参数封装的就是原方法的异常。 熔断后:最后一个异常参数会固定抛出“io
方法的返回值要和原方法保持一致。 方法的修饰类型要大于原方法。如:原方法是public的,那自定义降级的方法不能小于public。 父主题: 常见问题