带你读《Apache Dubbo微服务开发从入门到精通》——六、 配置项手册(10)

简介: 带你读《Apache Dubbo微服务开发从入门到精通》——六、 配置项手册(10)

《Apache Dubbo微服务开发从入门到精通》——配置手册——六、 配置项手册(9) https://developer.aliyun.com/article/1225078



13) method

 

方法级配置。对应的配置类:org.apache.dubbo.config.MethodConfig。同时该标签为service或reference的子标签,用于控制到方法级。

 

比如:

image.png


 

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

name

 

string

必填

 

标识

方法名

1.0.8以上版本

timeout

<methodName>.timeout

int

可选

缺省为的timeout

性能调优

方法调用超时时间(毫秒)

1.0.8以上版本

retries

<methodName>.retries

int

可选

缺省为<dubbo:reference>的retries

性能调优

远程服务调用重试次数,不包括第一次调用,不需要重试请设为0

2.0.0以上版本

loadbalance

<methodName>.loadbalance

string

可选

缺省为的loadbalance

性能调优

负载均衡策略,可选值: * random - 随机; * roundrobin - 轮询; * leastactive - 最少活跃调用; * consistenthash - 哈希一致 (2.1.0以上版本); * shortestresponse - 最短响应 (2.7.7以上版本);

2.0.0以上版本

async

<methodName>.async

boolean

可选

缺省为<dubbo:reference>的async

性能调优

是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程

1.0.9以上版本

sent

<methodName>.sent

boolean

可选

true

性能调优

异步调用时,标记sent=true时,表示网络已发出数据

2.0.6以上版本

actives

<methodName>.actives

int

可选

0

性能调优

每服务消费者最大并发调用限制

2.0.5以上版本

executes

<methodName>.executes

int

可选

0

性能调优

每服务每方法最大使用线程数限制- -,此属性只在<dubbo:method>作为<dubbo:service>子标签时有效

2.0.5以上版本

deprecated

<methodName>.deprecated

boolean

可选

false

服务治理

服务方法是否过时,此属性只在<dubbo:method>作为<dubbo:service>子标签时有效

2.0.5以上版本

sticky

<methodName>.sticky

boolean

可选

false

服务治理

设置true 该接口上的所有方法使用同一个provider.如果需要更复杂的规则,请使用路由

2.0.6以上版本

return

<methodName>.return

boolean

可选

true

性能调优

方法调用是否需要返回值,async设置为true时才生效,如果设置为true,则返回future,或回调onreturn等方法,如果设置为false,则请求发送成功后直接返回Null

2.0.6以上版本

oninvoke

attribute属性,不在URL中体现

String

可选

 

性能调优

实例执行前拦截

2.0.6以上版本

onreturn

attribute属性,不在URL中体现

String

可选

 

性能调优

实例执行返回后拦截

2.0.6以上版本

onthrow

attribute属性,不在URL中体现

String

可选

 

性能调优

实例执行有异常拦截

2.0.6以上版本

oninvokeMethod

attribute属性,不在URL中体现

String

可选

 

性能调优

方法执行前拦截

2.0.6以上版本

onreturnMethod

attribute属性,不在URL中体现

String

可选

 

性能调优

方法执行返回后拦截

2.0.6以上版本

onthrowMethod

attribute属性,不在URL中体现

String

可选

 

性能调优

方法执行有异常拦截

2.0.6以上版本

cache

<methodName>.cache

string/boolean

可选

 

服务治理

以调用参数为key,缓存返回结果,可选:lru, threadlocal, jcache等

2.1.0以上版本

validation

<methodName>.validation

boolean

可选

 

服务治理

是否启用JSR303标准注解验证,如果启用,将对方法参数上的注解进行校验

2.1.0以上版本

 

14) argument

 

方法参数配置。对应的配置类:org.apache.dubbo.config.ArgumentConfig。该标签为method的子标签,用于方法参数的特征描述,比如XML格式:

 

image.png

 

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

ex

 

int

必填

 

标识

参数索引

2.0.6以上版本

type

 

String

与index二选一

 

标识

通过参数类型查找参数的index

2.0.6以上版本

callback

<metodName><index>.callback

boolean

可选

 

服务治理

参数是否为callback接口,如果为callback,服务提供方将生成反向代理,可以从服务提供方反向调用消费方,通常用于事件推送.

2.0.6以上版本



《Apache Dubbo微服务开发从入门到精通》——配置手册——六、 配置项手册(11) https://developer.aliyun.com/article/1225076

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
缓存 Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
本文介绍了在Spring Boot中配置Swagger2的方法。通过创建一个配置类,添加`@Configuration`和`@EnableSwagger2`注解,使用Docket对象定义API文档的详细信息,包括标题、描述、版本和包路径等。配置完成后,访问`localhost:8080/swagger-ui.html`即可查看接口文档。文中还提示了可能因浏览器缓存导致的问题及解决方法。
1376 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
|
人工智能 安全 Java
智慧工地源码,Java语言开发,微服务架构,支持分布式和集群部署,多端覆盖
智慧工地是“互联网+建筑工地”的创新模式,基于物联网、移动互联网、BIM、大数据、人工智能等技术,实现对施工现场人员、设备、材料、安全等环节的智能化管理。其解决方案涵盖数据大屏、移动APP和PC管理端,采用高性能Java微服务架构,支持分布式与集群部署,结合Redis、消息队列等技术确保系统稳定高效。通过大数据驱动决策、物联网实时监测预警及AI智能视频监控,消除数据孤岛,提升项目可控性与安全性。智慧工地提供专家级远程管理服务,助力施工质量和安全管理升级,同时依托可扩展平台、多端应用和丰富设备接口,满足多样化需求,推动建筑行业数字化转型。
454 5
|
人工智能 Java 数据库
飞算 JavaAI:革新电商订单系统 Spring Boot 微服务开发
在电商订单系统开发中,传统方式耗时约30天,需应对复杂代码、调试与测试。飞算JavaAI作为一款AI代码生成工具,专注于简化Spring Boot微服务开发。它能根据业务需求自动生成RESTful API、数据库交互及事务管理代码,将开发时间缩短至1小时,效率提升80%。通过减少样板代码编写,提供规范且准确的代码,飞算JavaAI显著降低了开发成本,为软件开发带来革新动力。
|
Java 关系型数据库 数据库
微服务——SpringBoot使用归纳——Spring Boot事务配置管理——Spring Boot 事务配置
本文介绍了 Spring Boot 中的事务配置与使用方法。首先需要导入 MySQL 依赖,Spring Boot 会自动注入 `DataSourceTransactionManager`,无需额外配置即可通过 `@Transactional` 注解实现事务管理。接着通过创建一个用户插入功能的示例,展示了如何在 Service 层手动抛出异常以测试事务回滚机制。测试结果表明,数据库中未新增记录,证明事务已成功回滚。此过程简单高效,适合日常开发需求。
1914 0
|
Java 测试技术 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
412 0
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
1551 0
|
Java 数据库连接 微服务
微服务——MyBatis配置——事务管理
本段内容主要介绍了事务管理的两种类型:JDBC 和 MANAGED。JDBC 类型直接利用数据源连接管理事务,依赖提交和回滚机制;而 MANAGED 类型则由容器全程管理事务生命周期,例如 JEE 应用服务器上下文,默认会关闭连接,但可根据需要设置 `closeConnection` 属性为 false 阻止关闭行为。此外,提到在使用 Spring + MyBatis 时,无需额外配置事务管理器,因为 Spring 模块自带的功能可覆盖上述配置,且这两种事务管理器类型均无需设置属性。
253 0
|
Java 数据库连接 数据库
微服务——MyBatis配置——多环境配置
在 MyBatis 中,多环境配置允许为不同数据库创建多个 SqlSessionFactory。通过传递环境参数给 SqlSessionFactoryBuilder,可指定使用哪种环境;若忽略,则加载默认环境。`environments` 元素定义环境配置,包括默认环境 ID、事务管理器和数据源类型等。每个环境需唯一标识,确保默认环境匹配其中之一。代码示例展示了如何构建工厂及配置 XML 结构。
251 0
|
缓存 Java 数据库连接
微服务——MyBatis配置——常见配置
本文介绍了 MyBatis 的常见配置及其加载顺序。属性配置优先级为:方法参数传递的属性 &gt; resource/url 属性中配置 &gt; properties 元素中指定属性。同时列举了多个关键配置项,如 `cacheEnabled`(全局缓存开关)、`lazyLoadingEnabled`(延迟加载)、`useGeneratedKeys`(使用 JDBC 自动生成主键)等,并详细说明其作用、有效值及默认值。这些配置帮助开发者优化 MyBatis 的性能与行为。
257 0
|
12月前
|
IDE Java API
Java 17 新特性与微服务开发的实操指南
本内容涵盖Java 11至Java 17最新特性实战,包括var关键字、字符串增强、模块化系统、Stream API、异步编程、密封类等,并提供图书管理系统实战项目,帮助开发者掌握现代Java开发技巧与工具。
724 0

推荐镜像

更多