检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
自定义缓存key读取失败 问题描述 运行时报错com.huaweicloud.devspore.clientcontrol.core.ClientControlCacheComponent] [ERROR] - [Expression [xxxxx] @xx: ELxxxx]。 解决方案
在左侧导航栏中,选择“后端开发平台 > 框架转换”。 在框架转换规则组列表中选择对应的转换规则组,单击“操作”列“执行”。 配置转换基本信息。 导入文件:选择本地待转换的文件。 项目名称:上传压缩包时,如果压缩包名与项目名不一致,则填写压缩包内真实项目名称。 dubbo接口包路径:不填
支持注解形式自定义监控指标 使用场景 为了方便用户更加快速、便捷的使用micrometer定义自己的监控指标,devspore-probe提供了注解的方式去快速的定义监控指标,避免了定义复杂的监控类。 如何使用 项目中引入devspore-probe依赖,在项目的pom.xml中添加下面的配置。
访问熔断状态的方法时报错异常 问题描述 运行时报错Request processing failed; nested exception is io.github.resilience4j.circuitbreaker.CallNotPermittedException: CircuitBreaker
熔断器打开,导致方法调用失败 问题描述 熔断器打开,导致方法调用失败。 解决方案 在没有使用自定义降级方法和缓存的时候,原方法如果调用失败会抛出方法原始出的错误。 如果使用了自定义降级方法。 熔断前:自定义降级方法中添加的最后一个异常的参数封装的就是原方法的异常。 熔断后:最后一个异常参数会固定抛出“io
自定义降级 clientcontrol提供了自定义降级的功能。当目标业务代码报错时,如果用户想要执行自定义的降级逻辑可以参考以下配置。具体使用方式如下: pom文件添加依赖。 配置文件,参考下面配置样例。 devspore: client-control: caches:
找不到createMultiZonClient的bean 问题描述 当使用缓存功能,并且缓存组件使用的redis时,报如图所示的异常。 图1 报错异常 解决方案 使用devspore-dcs连接redis。 devspore-dcs会默认创建一个bean名称为createMult
配置说明 表1 参数配置说明 参数名称 是否必选 功能 devspore.auth.in-header false token是否在header中,默认true。 devspore.auth.token-name false token在header中的参数名,inHeader设
redis故障后clientcontrol的处理逻辑是什么 当clientcontrol的缓存类型配置为redis时,此时clientcontrol相当于是redis的使用方,redis自身的配置(超时时间,重试等)还是服务自己设置的,跟clientcontrol没有关系。 cl
使用swagger进行在线API文档配置 文档配置 spring-boot-starter-huawei添加了swagger2和swagger3包的依赖,API在线文档使用springdoc-openapi-ui。springdoc基本配置较为简单,如下所示: springdoc:
使用指南 添加依赖 代码中添加spring-boot-starter-huawei-devspore-auth-oneaccess依赖。 <dependency> <groupId>com.huaweicloud.devspore</groupId> <artifactId>
clientcontrol中ttl和performanceTtl的具体含义是什么 Cache配置有两个ttl,一个ttl(可靠性缓存)和一个performanceTtl(性能缓存)。 存在误解这两个为是两个缓存,其实缓存只有一个。 实际给缓存设置的缓存过期时间为ttl配置,缓存存
redis缓存不存在的属性反序列化 问题描述 redis在存入的时候,如果对象中存在is开头的方法,但是又没有具体的属性。那么在存入的时候,会将auth转换为一个属性存入缓存当中,在反序列化的时候就会报反序列化失败。 public boolean isAuth(){ return
如果是解构,则npm包的导出必须要有该名称。 是否解构 解构则使用如import { export1 } from 'module'的方式导入。 入口路径 有些npm包的方法并不在默认导出中,如import { foo , bar } from "module-name/path
Entry类插件采用的是责任链模式(chain of resposibility),所有的插件按照被注册的顺序依次调用,其中有一个插件抛出异常则整个请求返回失败。 Exit类插件采用的是观察者模式(Observer),所有的插件作为观察者注册,DevSpore运行时库里的Publisher模块同时调用所有的观察
用户进行资源操作时产生的费用账单。在一个账号下,您可以创建多个用户,账号和用户的关系如图1所示。如果您没有华为账号,可参考注册华为账号并开通华为云中操作注册。如何在账号中添加用户,请参见创建IAM用户。 账号下的用户,如果没有分配任何AstroPro中的角色,则只能查看工作空间下的所有资源,不具备其他权限。
Hibernate:使用Hibernate注解参数校验方式。 云服务设置。 图5 云服务设置 注册发现/配置中心 不启用:不对接配置管理服务。 CSE:使用微服务引擎服务CSE作为配置管理服务。CSE是微服务应用的云中间件,为用户提供了注册发现、服务治理、配置管理等高性能和高韧性的企业级云服务能力,可无缝兼容Spring
Hibernate:使用Hibernate注解参数校验方式。 云服务设置。 图7 云服务设置 注册发现/配置中心 不启用:不对接配置管理服务。 CSE:使用微服务引擎服务CSE作为配置管理服务。CSE是微服务应用的云中间件,为用户提供了注册发现、服务治理、配置管理等高性能和高韧性的企业级云服务能力,可无缝兼容Spring
步骤5:服务依赖 通常情况下,一个应用不是一个单独的服务,可能由多个服务共同组成。这些服务之间可能存在一些跨服务的调用,此时就需要通过添加依赖服务,把这些服务的客户端集成过来。添加依赖服务前,请确保依赖服务的“是否生成客户端”按钮已启用。 图1 开启“是否生成客户端”配置 在服务依赖中,选择当前服务依赖的服务。
json”文件,文件包含两个字段components和snippets。 components字段为一个对象,描述组件的关键信息和配置项。 例如:编写组件的注册信息,包括组件的名称、文件路径、版本号等。 "id": 1, "version": "2.4.2",//组件版本号 "name":