检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Object 功能介绍 Value Object是一个值对象,不能单独存在,需要和业务对象建立聚合的关系。 图1 和业务对象建立聚合关系 聚合后,Value Object中的主键和BO中的主键,共同构成了一个联合的主键。 图2 BO中的字段 图3 联合主键 属性说明 在业务设计页面,从
troPro实例是一个独立的资源空间,所有的操作都是在实例内进行,不同实例间的资源相互隔离。 基础版实例当前为免费使用,仅能满足个人及创业团队的基础需求。基础版和专业版实例支持的特性差异,请参见产品规格差异。为了便于您更好的了解AstroPro,本指南中操作及截图均以专业版/企业版实例为例进行介绍。
已创建的关系,在右侧页面即可设置关系属性,如图2所示。 图2 聚合 关系名称:设置聚合关系的名称。 关系类型:根据创建的聚合关系自动生成。 关系首要方:根据创建的聚合关系自动生成。 关系次要方:根据创建的聚合关系自动生成。 DTO暴露方式 - NESTED:是否设置DTO的NES
BO(Business Object)是一个业务对象,业务对象映射到服务中的一个实体,对应数据库中的一张表。 属性说明 在业务设计页面,从“business”中,拖拽“BO”对象至画布空白区域。选中对象,在右侧页面设置对象属性,如图1所示。 图1 BO 对象名称:设置对象的名称,必须使用大驼峰格式,不允许存在连续的大写字母。
基本配置:用于配置服务的基本信息,直接在界面进行勾选配置,不同的配置会呈现不同的效果。 图8 基本配置 框架配置:配置服务使用的中间件或云服务,直接在界面进行勾选配置,不同的配置会呈现不同的效果。 图9 框架配置 生成策略:配置服务的代码风格,直接在界面进行勾选配置,不同的配置会呈现不同的效果。
在AstroPro中完成服务的开发后,会生成一个服务代码压缩包,命名为“服务名称+唯一ID”。假设服务名称为Servicedemo,则生成的代码压缩包名称,如图1所示。 图1 代码压缩包名称 了解代码结构 在AstroPro中编辑服务时,可在“生成策略 > 代码风格”中定义生成代码的工程目录结构,如图2、图3。
@Controller识别为一个字符串添加到api接口类上,并不会导入相应的包,需要使用 x-imports标签手动导入相应的包 - "@Transactional" # 此处会将 @Transactional识别为一个字符串添加到api接口类上,并不会导入相应的包,需要使用 x-imports标签手动导入相应的包
多对多 什么是多对多 多对多关系中,首要方和次要方都不会发生任何的变化。唯一的变化是在多对多连线上,会默认添加两个字段用来分别指向关系的两侧。也就是说,一对多和聚合关系是通过在次要方添加主键和外键来表示的,而多对多关系是通过单独创建的关系表来表示的。 和一对多关系一样,删除多对多
解决方案 clientcontorl是依托于spring的aop来实现的。当注解不生效时,用户需要排查以下两个问题: 版本使用是否正确,如果用户使用的是jdk17、clientcontrol必须使用jdk17的版本,jdk17的版本在版本号中会有JDK17的标识,如 2.1.6.JDK1
业务建模是以软件模型方式描述项目或业务所涉及的对象及对象的属性、行为和对象之间彼此的关系。业务建模强调以业务领域分层的方式来理解、设计和构架业务应用系统。 工作空间 工作空间是为了方便用户全面管理资源而提供的通用空间。工作空间之间的资源是相互隔离的,默认情况下,每个租户仅能看到自己工作空间下的资源。每个租户只能拥有一个工作空间。
间传输数据。 DO:是一种领域对象,用于表示业务领域中的实体或概念。 horizon整体架构 devspore-horizon架构图如下: 图1 架构图 Entry类插件采用的是责任链模式(chain of resposibility),所有的插件按照被注册的顺序依次调用,其中有一个插件抛出异常则整个请求返回失败。
工程目录”设置为“DDD”时,和“单Module”一样,仅会生成“src”一个模块,如图1所示。 图1 DDD 代码结构说明 代码结构说明中的“{biz}”,为在AstroPro的业务设计中定义的对象,如BO、Abstract BO等。 com.astropro |-- api
# 发布事件的Package,存放事件发布的工具类 与 发布的事件对象,屏蔽技术组件对应用业务的侵入 |-- subscribe # 订阅事件的Package,存放listener与消费的事件对象,lis
在项目启动时,报如图1所示问题。 图1 NPE报错 解决方案 用户需要排查是否在项目启动时使用到了clientcontrol的功能,如在启动时使用了clientcontrol的功能,需要保证clientcontrol要优先初始化。可以在使用到clientcontrol功能的bean上加
widget.props 属性值组件的props。 Object 使用模板开发样例 本示例中的imgbutton组件是使用nodejs开发前端的组件。以下若无特殊说明,均基于VSCode工具,按照imgbutton组件的功能点来介绍自定义组件的开发过程。 下载自定义组件模板,将自定义组件模板包解压。
在左侧大纲树插件中,以树的形式展示了当前页面中所有的组件,单击树节点选中画布中的组件。 图7 单击树节点选中组件 底部节点树展示了从根节点到当前选中组件的层级节点,单击底部的节点树的某一个节点,选中父组件。 图8 展示当前选中组件的层级节点 图9 单击节点树的父点,选中父组件 编辑组件
nceTtl的具体含义是什么 Cache配置有两个ttl,一个ttl(可靠性缓存)和一个performanceTtl(性能缓存)。 存在误解这两个为是两个缓存,其实缓存只有一个。 实际给缓存设置的缓存过期时间为ttl配置,缓存存入的时候,连同当前时间一同存入了,取出的时候就可以取
找不到createMultiZonClient的bean 问题描述 当使用缓存功能,并且缓存组件使用的redis时,报如图所示的异常。 图1 报错异常 解决方案 使用devspore-dcs连接redis。 devspore-dcs会默认创建一个bean名称为createMultiZoneClient的redisC
ClientControl的超时功能是搭配线程池使用的,所以当使用本地线程变量的时候会导致无法获取线程变量的问题。 解决方案 这种情况一般推荐使用远程调用自带的超时控制,将ClientControl的超时功能关闭。 提前获取需要的信息,传入加了@ClientControl注解的方法中。 父主题:
如果原方法执行失败,返回获取的缓存。 如果一开始没有获取到缓存,会直接将原方法执行失败的异常返回。 性能缓存是clientcontrol自带的一个概念,对应配置参数中的performance-ttl。例如一个缓存的有效时长是10s,那性能缓存可以配置为3s,代表一个逻辑概念,标识缓存的结果离更新缓