2
发布扇出交换上的RabbitMQ消息,我有以下的代码,使用fanout exchange
发布消息到RabbitMQ
队列。 exchange
正在创建,但消息不能在RabbitMQ
队列中看到。我也没有看到任何错误。如何使用Spring引导
BasicApplication.java
@SpringBootApplication
public class BasicApplication {
public static final String QUEUE_NAME_1 = "helloworld.fanout.q1";
public static final String QUEUE_NAME_2 = "helloworld.fanout.q2";
public static final String EXCHANGE_NAME = "helloworld.fanout.x";
//here the message ==> xchange ==> queue1, queue2
@Bean
public List<Declarable> fanoutBindings() {
Queue fanoutQueue1 = new Queue(QUEUE_NAME_1, false);
Queue fanoutQueue2 = new Queue(QUEUE_NAME_2, false);
FanoutExchange fanoutExchange = new FanoutExchange(EXCHANGE_NAME);
return Arrays.asList(
fanoutQueue1,
fanoutQueue2,
fanoutExchange,
bind(fanoutQueue1).to(fanoutExchange),
BindingBuilder.bind(fanoutQueue2).to(fanoutExchange));
}
public static void main(String[] args) {
SpringApplication.run(BasicApplication.class, args).close();
}
}
Producer.java
@Component
public class Producer implements CommandLineRunner {
@Autowired
private RabbitTemplate rabbitTemplate;
@Override
public void run(String... args) throws Exception {
this.rabbitTemplate.convertAndSend(EXCHANGE_NAME, "Hello World !");
}
}
良好,即工作:) – user2325154