springboot + rabbitmq 2 시간 입문 (4): fanout 교환기
방송 교환기, routingkey 를 무시 하고 현재 교환기 에 보 내 는 모든 메 시 지 를 현재 교환기 와 연 결 된 모든 대기 열 로 보 냅 니 다.
application.properties :
spring.rabbitmq.host=localhost
# TCP/IP 5672,http 15672
spring.rabbitmq.port=5672
spring.rabbitmq.username=root
spring.rabbitmq.password=root
생산자:
package com.example.rabbitmq;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class RabbitMQController {
// RabbitTemplate , AmqpTemplate, RabbitTemplate。
@Autowired
private RabbitTemplate rabbitTemplate;
@GetMapping(value = "/helloRabbit2")
public String sendMQ2(){
rabbitTemplate.convertAndSend("myExchange2", "","fanoutExchange");
return "success";
}
}
소비자:
package com.example.rabbitmq;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.*;
import org.springframework.stereotype.Component;
@Component
public class Receiver {
/**
* @Exchange type ExchangeTypes.DIRECT, ExchangeTypes.FANOUT
* routingKey, ,
*/
@RabbitListener(
bindings = @QueueBinding(
value = @Queue(value = "myQueue2"),
exchange = @Exchange(value = "myExchange2", type =ExchangeTypes.FANOUT)
))
public void process2(Message message){
System.out.println("myQueue2:" + new String(message.getBody()));
}
@RabbitListener(
bindings = @QueueBinding(
value = @Queue(value = "myQueue3"),
exchange = @Exchange(value = "myExchange2", type =ExchangeTypes.FANOUT)
))
public void process3(Message message) {
System.out.println("myQueue3:" + new String(message.getBody()));
}
시작 항목, 접근http://localhost:8080/helloRabbit2콘 솔 인쇄
myQueue3:fanoutExchange myQueue2:fanoutExchange
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.