Skip to content

Commit fb93ba4

Browse files
committed
docs: 修改 README、介绍文件
1 parent e3456f3 commit fb93ba4

2 files changed

Lines changed: 107 additions & 61 deletions

File tree

.docs/intro/application-config-example.md

Lines changed: 106 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -29,22 +29,6 @@ spring:
2929
min-idle: 0
3030
max-idle: 8
3131
max-wait: -1
32-
# rabbitmq 公共配置
33-
rabbitmq:
34-
publisher-returns: true
35-
publisher-confirm-type: correlated
36-
listener:
37-
simple:
38-
concurrency: 1
39-
max-concurrency: 8
40-
acknowledge-mode: manual
41-
retry:
42-
enabled: true
43-
max-attempts: 5
44-
max-interval: 10000
45-
initial-interval: 2000
46-
multiplier: 2
47-
prefetch: 5
4832
# 数据源公共配置
4933
datasource:
5034
druid:
@@ -158,13 +142,62 @@ spring:
158142
- 192.168.0.
159143
- 192.168.238.
160144
- 10.
145+
# rabbitmq
146+
multirabbitmq:
147+
enabled: true
148+
# 指定默认的连接名称(必要)
149+
default-connection: default
150+
connections:
151+
# 自定义的 connectionName
152+
default:
153+
host: localhost
154+
port: 5672
155+
username: rabbitmq
156+
password: rabbitmq
157+
virtual-host: uni_dev
158+
publisher-returns: true
159+
publisher-confirm-type: correlated
160+
listener:
161+
simple:
162+
concurrency: 1
163+
max-concurrency: 8
164+
acknowledge-mode: manual
165+
retry:
166+
enabled: true
167+
max-attempts: 5
168+
max-interval: 10000
169+
initial-interval: 2000
170+
multiplier: 2
171+
prefetch: 5
172+
test:
173+
host: localhost
174+
port: 5672
175+
username: rabbitmq
176+
password: rabbitmq
177+
virtual-host: uni_dev_test
178+
publisher-returns: true
179+
publisher-confirm-type: correlated
180+
listener:
181+
simple:
182+
concurrency: 1
183+
max-concurrency: 8
184+
acknowledge-mode: manual
161185

162186
# 关闭 swagger 认证
163187
knife4j:
164188
basic:
165189
enable: false
166190
```
167191
192+
> 通过 spring-multirabbit 实现 RabbitMQ 的多数据源,使用 spring.multirabbitmq 配置多个连接
193+
>
194+
> 在使用 @RabbitListener 监听队列时,指定 containerFactory 为 connectionName
195+
>
196+
> 在注入 RabbitTemplate 发送消息时,发送前使用 SimpleResourceHolder.bind 将 connectionFactory 绑定到 connectName,发送完毕后
197+
> unbind
198+
>
199+
> 注意:publisher-returns 可能不生效,已在 RabbitCallback 中通过 rabbitTemplate.setMandatory(true) 强制开启
200+
168201
### framework 服务配置
169202
170203
uni-boot-framework-dev.yml(DEV 环境)
@@ -179,12 +212,6 @@ spring:
179212
port: 6379
180213
password: ENC(jIiKGruIMgDkKx5wj2gJRCROqPutkTvZ)
181214
database: 0
182-
rabbitmq:
183-
host: localhost
184-
port: 5672
185-
username: rabbitmq
186-
password: rabbitmq
187-
virtual-host: /uni_dev
188215
datasource:
189216
type: com.alibaba.druid.pool.DruidDataSource
190217
dynamic:
@@ -205,6 +232,10 @@ uni-boot:
205232
permit-all-list: /common/download**
206233
framework:
207234
file-base-path: D:/uniboot/file/temp/
235+
mq:
236+
tx-msg:
237+
# 关闭重试
238+
enable-retry: false
208239
```
209240
210241
### example 服务配置
@@ -221,12 +252,6 @@ spring:
221252
port: 6379
222253
password: ENC(jIiKGruIMgDkKx5wj2gJRCROqPutkTvZ)
223254
database: 0
224-
rabbitmq:
225-
host: localhost
226-
port: 5672
227-
username: rabbitmq
228-
password: rabbitmq
229-
virtual-host: /uni_dev
230255
datasource:
231256
type: com.alibaba.druid.pool.DruidDataSource
232257
dynamic:
@@ -247,43 +272,64 @@ uni-boot:
247272
permit-all-list:
248273
mq:
249274
tx-msg:
275+
# 开启重试
250276
enable-retry: true
277+
# rabbitmq 自动创建
251278
rabbit:
252279
enable: true
253-
exchanges:
254-
- name: uni.delay
255-
type: topic
256-
delayed: true
257-
- name: uni.topic
258-
type: topic
259-
queues:
260-
- name: example-delay-queue-0
261-
- name: example-delay-queue-1
262-
random-suffix: true
263-
auto-delete: true
264-
- name: example-biz-queue-0
265-
dl-exchange: uni.topic
266-
dl-routing-key: example-biz-queue-0-dl-rk
267-
- name: example-biz-queue-0-dl
268-
- name: example-biz-queue-1
269-
bindings:
270-
- bind-name: example-delay-queue-0
271-
exchange-name: uni.delay
272-
routing-key: example-delay-queue-0-rk
273-
- bind-name: example-delay-queue-1
274-
exchange-name: uni.delay
275-
routing-key: example-delay-queue-1-rk
276-
- bind-name: example-biz-queue-0
277-
exchange-name: uni.topic
278-
routing-key: example-biz-queue-0-rk
279-
- bind-name: example-biz-queue-0-dl
280-
exchange-name: uni.topic
281-
routing-key: example-biz-queue-0-dl-rk
282-
- bind-name: example-biz-queue-1
283-
exchange-name: uni.topic
284-
routing-key: example-biz-queue-1-rk
280+
declares:
281+
default:
282+
exchanges:
283+
- name: default.delay
284+
type: topic
285+
delayed: true
286+
- name: default.topic
287+
type: topic
288+
queues:
289+
- name: example-delay-queue-0
290+
- name: example-delay-queue-1
291+
random-suffix: true
292+
auto-delete: true
293+
- name: example-biz-queue-0
294+
dl-exchange: default.topic
295+
dl-routing-key: example-biz-queue-0-dl-rk
296+
- name: example-biz-queue-0-dl
297+
- name: example-biz-queue-1
298+
bindings:
299+
- bind-name: example-delay-queue-0
300+
exchange-name: default.delay
301+
routing-key: example-delay-queue-0-rk
302+
- bind-name: example-delay-queue-1
303+
exchange-name: default.delay
304+
routing-key: example-delay-queue-1-rk
305+
- bind-name: example-biz-queue-0
306+
exchange-name: default.topic
307+
routing-key: example-biz-queue-0-rk
308+
- bind-name: example-biz-queue-0-dl
309+
exchange-name: default.topic
310+
routing-key: example-biz-queue-0-dl-rk
311+
- bind-name: example-biz-queue-1
312+
exchange-name: default.topic
313+
routing-key: example-biz-queue-1-rk
314+
test:
315+
exchanges:
316+
- name: test.topic
317+
type: topic
318+
queues:
319+
- name: test-biz-queue-0
320+
bindings:
321+
- bind-name: test-biz-queue-0
322+
exchange-name: test.topic
323+
routing-key: test-biz-queue-0-rk
285324
```
286325
326+
> 通过 uni-boot-mq.rabbit.declares 指定一个 RabbitMQ ConnectionName 需要声明的交换机、队列以及绑定关系,
327+
> 这会自动注入 bean 容器,bean 名称格式是 connectionName_declareName
328+
>
329+
> 注意:当指定 random-suffix 为 true 时,会创建随机的队列名,若要在 @RabbitListener 中指定 queue 名称,可使用 SpringEL 表达式,如
330+
> queues = "#{@'default_example-delay-queue-1'.name}",其中 default 是 connectionName,example-delay-queue-1 是队列 bean
331+
> name
332+
287333
### gateway 服务配置
288334
289335
uni-boot-gateway-dev.yml(DEV 环境)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656

5757
集成 knife4j,提供 swagger module 的动态配置支持
5858

59-
集成 RabbitMQ,提供通过配置声明交换机和队列功能,以及事务消息、消息重试的支持
59+
集成 RabbitMQ,提供通过配置声明多数据源、交换机和队列功能,以及事务消息、消息重试的支持
6060

6161
集成 OpenFeign,提供统一的消息拦截器、ErrorDecoder、HttpClient 配置等
6262

0 commit comments

Comments
 (0)