請(qǐng)求鏈接并發(fā)送mq
controller(IndexController):
@Autowired
private IndexService indexService;
@ResponseBody
@RequestMapping(value="/direct")
public void direct(){
log.info("[rabbitmq][direct][start]");
indexService.sendDirect();
log.info("[rabbitmq][direct][end]");
}
@ResponseBody
@RequestMapping(value="/fanout")
public void fanout(){
log.info("[rabbitmq][fanout][start]");
indexService.sendFanout();
log.info("[rabbitmq][fanout][end]");
}
service(IndexService):
@Resource(name = "direct-template")
private RabbitTemplate templateDirect;
@Resource(name = "fanout-template")
private RabbitTemplate fanoutDirect;
public void sendDirect(){
Message message = new Message<>();
message.setAction("DIRECT_TEST");
message.setData("DIRECT");
log.info("Message:"+message.getData());
templateDirect.convertAndSend(message);
}
public void sendFanout(){
Message message = new Message<>();
message.setAction("FANOUT_TEST");
message.setData("FANOUT");
log.info("Message:"+message.getData());
fanoutDirect.convertAndSend(message);
}
消費(fèi)者獲取mq并處理:
1.direct 方式
DirectListener:
@Override
public void accept(String messageContent) throws Throwable {
log.info("direct listener");
}
2.fanout方式
FanoutListener1:
@Override
public void accept(String messageContent) throws Throwable {
log.info("fanout listener11111111111111");
}
FanoutListener2:
@Override
public void accept(String messageContent) throws Throwable {
log.info("fanout listener222222222222222");
}
運(yùn)行代碼,訪問(wèn)鏈接,查看結(jié)果。
訪問(wèn)/direct
[com.controller.IndexController]-[INFO] [rabbitmq][direct][start]
[com.service.IndexService]-[INFO] Message:DIRECT
[com.controller.IndexController]-[INFO] [rabbitmq][direct][end]
[com.listener.DirectListener]-[INFO] direct listener
訪問(wèn)/fanout
[com.controller.IndexController]-[INFO] [rabbitmq][fanout][start]
[com.service.IndexService]-[INFO] Message:FANOUT
[com.controller.IndexController]-[INFO] [rabbitmq][fanout][end]
[com.listener.FanoutListener2]-[INFO] fanout listener222222222222222
[com.listener.FanoutListener1]-[INFO] fanout listener11111111111111