
@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条)