@Configuration public class ConfirmConfig { public static final String /confirm/i_EXCHANGE = "/confirm/i_exchange"; public static final String /confirm/i_QUEUE = "/confirm/i_queue"; public static final String /confirm/i_ROUTING_KEY = "/confirm/i_routing_key"; //声明交换机 @Bean("/confirm/iExchange") public DirectExchange confirmExchange() { return new DirectExchange(/confirm/i_EXCHANGE); } //声明队列 @Bean("/confirm/iQueue") public Queue confirmQueue() { return QueueBuilder.durable(/confirm/i_QUEUE).build(); } //绑定 @Bean("/confirm/iQueueBinding") public Binding confirmQueueBinding(@Qualifier("/confirm/iQueue") Queue /confirm/iQueue, @Qualifier("/confirm/iExchange") DirectExchange /confirm/iExchange) { return BindingBuilder.bind(/confirm/iQueue).to(/confirm/iExchange).with(/confirm/i_ROUTING_KEY); } }(二)、消息生产者
@RestController @RequestMapping("//confirm/i") public class ConfirmController { @Autowired private RabbitTemplate rabbitTemplate; @GetMapping("/send/confirm/i") public void sendConfirm(@RequestParam("msg") String msg) { CorrelationData correlationData = new CorrelationData("1"); CorrelationData correlationData2 = new CorrelationData("2"); rabbitTemplate.convertAndSend(/confirm/iConfig./confirm/i_EXCHANGE, /confirm/iConfig./confirm/i_ROUTING_KEY, msg+"key1", correlationData); log.info("发送信息{} ", msg+"key1"); rabbitTemplate.convertAndSend(/confirm/iConfig./confirm/i_EXCHANGE, /confirm/iConfig./confirm/i_ROUTING_KEY+"key2", msg+"key2", correlationData2); log.info("发送信息{} ", msg+"key2--错误"); } }(3)、消息消费者
@Slf4j @Component public class ConfirmConsumer { @RabbitListener(queues =/confirm/iConfig./confirm/i_QUEUE) public void receive(Message message) { String s = new String(message.getBody()); log.info("队列接收到信息=={}, routingkey为{/confirm/i_routing_key}", s); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)