@Target(value=TYPE) @Retention(value=RUNTIME) @Import(value=RabbitMqConfiguration.class) @EnableConfigurationProperties(value=AppConfigurationProperties.class) @AutoConfigureAfter(value=AppConfigurationProperties.class) @Documented public @interface AutoConfigureRabbitMq
app:
...
# rabbitmq配置
rabbitmq:
queues:
- name: sms_queue
durable: true
exclusive: false
autoDelete: false
arguments:
age: xxx
- name: email_queue
durable: true
exclusive: false
autoDelete: false
arguments:
age: xxx
exchanges:
- name: sms_exchange
type: topic
- name: email_exchange
type: direct
bindings:
- name: sms_binding
queue: sms_queue
exchange: sms_exchange
arguments:
age: xxx
- name: email_binding
queue: email_queue
exchange: email_exchange
arguments:
age: xxx
延时队列配置示例:
app:
...
# rabbitmq配置
rabbitmq:
queues:
- name: normal_queue
durable: true
exclusive: false
autoDelete: false
arguments:
x-message-ttl: 10000
x-dead-letter-exchange: fallback_exchange
x-dead-letter-routing-key: fallback_binding
- name: fallback_queue
durable: true
exclusive: false
autoDelete: false
exchanges:
- name: normal_exchange
type: topic
- name: fallback_exchange
type: topic
bindings:
- name: normal_binding
queue: normal_queue
exchange: normal_exchange
- name: fallback_binding
queue: fallback_queue
exchange: fallback_exchange
Copyright © 2022. All rights reserved.