您的位置:58脚本 > springboot中properties配置 Spring Boot Dubbo applications.properties 配置清单 | 泥瓦匠BYSocket

springboot中properties配置 Spring Boot Dubbo applications.properties 配置清单 | 泥瓦匠BYSocket

2023-03-21 13:32 SpringBoot那些事

springboot中properties配置 Spring Boot Dubbo applications.properties 配置清单 | 泥瓦匠BYSocket

springboot中properties配置

Spring Boot 是一个开源框架,它使用 Java 语言来简化应用程序的开发。它可以帮助开发人员快速创建和部署应用程序。Spring Boot 使用 properties 文件来配置应用程序的行为。properties 文件是一个文本文件,其中包含了一些键值对,这些键值对可以被 Spring Boot 的配置文件读取并使用。

properties 配置文件是 Spring Boot 应用程序的核心部分,它允许开发人员在不修改代码的情况下修改应用程序的行为。properties 配置文件中的键和值都是字符串,因此它们可以很容易地被 Spring Boot 的配置文件读取并根据需要进行处理。

Spring Boot 使用 properties 配置文件来存储各种信息,例如数据库连接信息、日志路径、端口号、服务器地址、JVM 属性、Spring 属性、Tomcat 属性、MySQL 属性、Hibernate 属性、MongoDB 属性、Redis 属性和其他相关信息。

spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false
spring.datasource.username=root
spring.datasource.password=password

上面是一个 properties 配置文件样例,它包含了数据库连接所需要的 URL 、用户名和密码。当 Spring Boot 运行时,它会读取这些 properties 配置文件中的内容并根据内容来初始化数据库连接。

properties 配置文件提供了一个很好的方法来集中存储所有相关信息,而不必将所有信息都写在代码中。此外,properties 配置文件更易于理解和保存(因为它是一个标准格式的文本文件),也易于版本化和多人协作开发。

Spring Boot Dubbo applications.properties 配置清单 | 泥瓦匠BYSocket

摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢!

『 与其纠结,不如行动学习。Innovate ,And out execute ! 』

本文提纲
一、前言
二、applications.properties 配置清单
三、@Service 服务提供者常用配置
四、@Reference 服务消费者常用配置
五、小结

 

运行环境:JDK 7 或 8、Maven 3.0+
技术栈:SpringBoot 1.5+、、Dubbo 2.5+

一、前言

在泥瓦匠出的
Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例

Spring Boot 中如何使用 Dubbo Activate 扩展点

两篇文章后,很多人跟我聊 Spring Boot 整合 Dubbo 的细节问题。当然最多的是配置问题,比如
Q:如果一个程序既提供服务又是消费者怎么配置 scan package?
A(群友周波): 就是 com.xxx.provider 生产者,com.xxx.consumer 消费者,那么 scan package 就设置到 com.xxx

 

Q:如何设置消费者调用生产者的超时时间?
A:目前不能通过 application.properties 定义。@Reference timeout

 

Q:consumer 怎么配置接入多个 provider?
A:@Reference 可以指定不同的 register。register (注册中心 like provider container)里面可以对应多个 provider

 

Q: @Service(version = “1.0.0”) 这个 1.0.0 可以从 application.properties 配置文件中读取吗?可以区分不同的环境,可以统一升级管理
A:占时还没有解决… 但是应用环境,如:dev/test/run 可以使用下面的配置,在 application.properties 定义
spring.dubbo.application.environment

Spring Boot 整合 Dubbo 的项目依赖了 spring-boot-starter-dubbo 工程,该项目地址是 https://github.com/teaey/spring-boot-starter-dubbo。 感谢作者~

二、applications.properties 配置清单

根据 starter 工程源码,可以看出 application.properties 对应的 Dubbo 配置类 DubboProperties 。

1
2
3
4
5
6
7
8
9
10
11
@ConfigurationProperties(prefix = "spring.dubbo")
public class DubboProperties {
    private String scan;
    private ApplicationConfig application;
    private RegistryConfig registry;
    private ProtocolConfig protocol;
}

包括了扫描路径、应用配置类、注册中心配置类和服务协议类

 

所以具体常用配置下
扫描包路径:指的是 Dubbo 服务注解的服务包路径

1
2
3
## Dubbo 配置
# 扫描包路径
spring.dubbo.scan=org.spring.springboot.dubbo

 

应用配置类:关于 Dubbo 应用级别的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
## Dubbo 应用配置
# 应用名称
spring.dubbo.application.name=xxx
# 模块版本
spring.dubbo.application.version=xxx
# 应用负责人
spring.dubbo.application.owner=xxx
# 组织名(BU或部门)
spring.dubbo.application.organization=xxx
# 分层
spring.dubbo.application.architecture=xxx
# 环境,如:dev/test/run
spring.dubbo.application.environment=xxx
# Java代码编译器
spring.dubbo.application.compiler=xxx
# 日志输出方式
spring.dubbo.application.logger=xxx
# 注册中心 0
spring.dubbo.application.registries[0].address=zookeeper:#127.0.0.1:2181=xxx
# 注册中心 1
spring.dubbo.application.registries[1].address=zookeeper:#127.0.0.1:2181=xxx
# 服务监控
spring.dubbo.application.monitor.address=xxx

这里注意多个注册中心的配置方式。下面介绍单个注册中心的配置方式。

 

注册中心配置类:常用 ZooKeeper 作为注册中心进行服务注册。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
## Dubbo 注册中心配置类
# 注册中心地址
spring.dubbo.application.registries.address=xxx
# 注册中心登录用户名
spring.dubbo.application.registries.username=xxx
# 注册中心登录密码
spring.dubbo.application.registries.password=xxx
# 注册中心缺省端口
spring.dubbo.application.registries.port=xxx
# 注册中心协议
spring.dubbo.application.registries.protocol=xxx
# 客户端实现
spring.dubbo.application.registries.transporter=xxx
spring.dubbo.application.registries.server=xxx
spring.dubbo.application.registries.client=xxx
spring.dubbo.application.registries.cluster=xxx
spring.dubbo.application.registries.group=xxx
spring.dubbo.application.registries.version=xxx
# 注册中心请求超时时间(毫秒)
spring.dubbo.application.registries.timeout=xxx
# 注册中心会话超时时间(毫秒)
spring.dubbo.application.registries.session=xxx
# 动态注册中心列表存储文件
spring.dubbo.application.registries.file=xxx
# 停止时等候完成通知时间
spring.dubbo.application.registries.wait=xxx
# 启动时检查注册中心是否存在
spring.dubbo.application.registries.check=xxx
# 在该注册中心上注册是动态的还是静态的服务
spring.dubbo.application.registries.dynamic=xxx
# 在该注册中心上服务是否暴露
spring.dubbo.application.registries.register=xxx
# 在该注册中心上服务是否引用
spring.dubbo.application.registries.subscribe=xxx

 

服务协议配置类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
## Dubbo 服务协议配置
# 服务协议
spring.dubbo.application.protocol.name=xxx
# 服务IP地址(多网卡时使用)
spring.dubbo.application.protocol.host=xxx
# 服务端口
spring.dubbo.application.protocol.port=xxx
# 上下文路径
spring.dubbo.application.protocol.contextpath=xxx
# 线程池类型
spring.dubbo.application.protocol.threadpool=xxx
# 线程池大小(固定大小)
spring.dubbo.application.protocol.threads=xxx
# IO线程池大小(固定大小)
spring.dubbo.application.protocol.iothreads=xxx
# 线程池队列大小
spring.dubbo.application.protocol.queues=xxx
# 最大接收连接数
spring.dubbo.application.protocol.accepts=xxx
# 协议编码
spring.dubbo.application.protocol.codec=xxx
# 序列化方式
spring.dubbo.application.protocol.serialization=xxx
# 字符集
spring.dubbo.application.protocol.charset=xxx
# 最大请求数据长度
spring.dubbo.application.protocol.payload=xxx
# 缓存区大小
spring.dubbo.application.protocol.buffer=xxx
# 心跳间隔
spring.dubbo.application.protocol.heartbeat=xxx
# 访问日志
spring.dubbo.application.protocol.accesslog=xxx
# 网络传输方式
spring.dubbo.application.protocol.transporter=xxx
# 信息交换方式
spring.dubbo.application.protocol.exchanger=xxx
# 信息线程模型派发方式
spring.dubbo.application.protocol.dispatcher=xxx
# 对称网络组网方式
spring.dubbo.application.protocol.networker=xxx
# 服务器端实现
spring.dubbo.application.protocol.server=xxx
# 客户端实现
spring.dubbo.application.protocol.client=xxx
# 支持的telnet命令,多个命令用逗号分隔
spring.dubbo.application.protocol.telnet=xxx
# 命令行提示符
spring.dubbo.application.protocol.prompt=xxx
# status检查
spring.dubbo.application.protocol.status=xxx
# 是否注册
spring.dubbo.application.protocol.status=xxx

三、@Service 服务提供者常用配置

常用 @Service 配置的如下

1
2
3
4
5
6
7
version 版本
group 分组
provider 提供者
protocol 服务协议
monitor 服务监控
registry 服务注册

 

四、@Reference 服务消费者常用配置

常用 @Reference 配置的如下

1
2
3
4
5
6
version 版本
group 分组
timeout 消费者调用提供者的超时时间
consumer 服务消费者
monitor 服务监控
registry 服务注册

 

五、小结

主要介绍了 Spring Boot Dubbo 整合中的细节问题大集合。

推荐:《Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例》

 

欢迎扫一扫我的公众号关注 — 及时得到博客订阅哦!
— http://www.bysocket.com/ —
— https://github.com/JeffLi1993 —



阅读全文
以上是58脚本为你收集整理的springboot中properties配置 Spring Boot Dubbo applications.properties 配置清单 | 泥瓦匠BYSocket全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 58脚本 58jiaoben.com 版权所有 联系我们
桂ICP备12005667号-28 Powered by CMS