스프링 부트가 있는 여러 Rabbitmq 대기열
봄부터 부팅 튜토리얼: https://spring.io/guides/gs/messaging-rabbitmq/
예를 들어 대기열 하나와 대기열 하나만 생성할 수 있습니다. 그러나 대기열을 하나 이상 생성하려면 어떻게 해야 합니까?그것이 어떻게 가능할까요?
분명히, 저는 같은 콩을 두 번만 만들 수 없습니다.
@Bean
Queue queue() {
return new Queue(queueNameAAA, false);
}
@Bean
Queue queue() {
return new Queue(queueNameBBB, false);
}
같은 콩을 두 번 만들 수는 없습니다. 그것은 모호하게 만들 것입니다.
콩 정의 공장 방법에 다른 이름을 지정합니다.일반적으로 대기열과 같은 이름을 지정합니다. 하지만 그럴 필요는 없습니다.
@Bean
Queue queue1() {
return new Queue(queueNameAAA, false);
}
@Bean
Queue queue2() {
return new Queue(queueNameBBB, false);
}
메서드 이름은 콩 이름입니다.
편집
바인딩 빈의 큐를 사용할 때는 두 가지 옵션이 있습니다.
@Bean
Binding binding1(@Qualifier("queue1") Queue queue, TopicExchange exchange) {
return BindingBuilder.bind(queue).to(exchange).with(queueNameAAA);
}
@Bean
Binding binding2(@Qualifier("queue2") Queue queue, TopicExchange exchange) {
return BindingBuilder.bind(queue).to(exchange).with(queueNameBBB);
}
또는
@Bean
Binding binding1(TopicExchange exchange) {
return BindingBuilder.bind(queue1()).to(exchange).with(queueNameAAA);
}
@Bean
Binding binding2(TopicExchange exchange) {
return BindingBuilder.bind(queue2()).to(exchange).with(queueNameBBB);
}
아니면 더 나은...
@Bean
Binding binding1(TopicExchange exchange) {
return BindingBuilder.bind(queue1()).to(exchange).with(queue1().getName());
}
@Bean
Binding binding2(TopicExchange exchange) {
return BindingBuilder.bind(queue2()).to(exchange).with(queue2().getName());
}
언급URL : https://stackoverflow.com/questions/41210688/multiple-rabbitmq-queues-with-spring-boot
'source' 카테고리의 다른 글
ggplot2에서 주변 히스토그램이 있는 산점도 (0) | 2023.07.09 |
---|---|
TypeScript 인터페이스의 선택적 매개 변수 (0) | 2023.07.09 |
Git Stash의 용도는 무엇입니까? (0) | 2023.07.09 |
플롯을 디스크에 이미지로 저장하는 방법은 무엇입니까? (0) | 2023.07.09 |
python에서 한 항목을 제외한 모든 항목 인덱싱 (0) | 2023.07.09 |