springboot整合 rabbitmq

Love The Way You Lie 2021-12-22 13:07 305阅读 0赞

1 添加依赖

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-amqp</artifactId>
  4. </dependency>

2 添加配置文件

  1. rabbitmq:
  2. password: admin
  3. port: 5672
  4. host: 139.199.33.78
  5. username: admin

3 创建配置类 实例化队列 交换机 且绑定

  1. @Configuration
  2. public class SenderConf3 {
  3. @Bean(name="Amessage")
  4. public Queue AMessage() {
  5. return new Queue("fanout.A");
  6. }
  7. @Bean(name="Bmessage")
  8. public Queue BMessage() {
  9. return new Queue("fanout.B");
  10. }
  11. @Bean(name="Cmessage")
  12. public Queue CMessage() {
  13. return new Queue("fanout.C");
  14. }
  15. @Bean
  16. FanoutExchange fanoutExchange() {
  17. return new FanoutExchange("fanoutExchange");//配置广播路由器
  18. }
  19. @Bean
  20. Binding bindingExchangeA(@Qualifier("Amessage") Queue AMessage, FanoutExchange fanoutExchange) {
  21. return BindingBuilder.bind(AMessage).to(fanoutExchange);
  22. }
  23. @Bean
  24. Binding bindingExchangeB(@Qualifier("Bmessage") Queue BMessage, FanoutExchange fanoutExchange) {
  25. return BindingBuilder.bind(BMessage).to(fanoutExchange);
  26. }
  27. @Bean
  28. Binding bindingExchangeC(@Qualifier("Cmessage") Queue CMessage, FanoutExchange fanoutExchange) {
  29. return BindingBuilder.bind(CMessage).to(fanoutExchange);
  30. }
  31. }

4 创建sender类发送消息

  1. @Component
  2. public class HelloSender {
  3. @Autowired
  4. private AmqpTemplate template;
  5. public void send() {
  6. template.convertAndSend("queue","hello,rabbit~");
  7. }
  8. public void send2(){
  9. template.convertAndSend("exchange","topic.message","hello,rabbit1");
  10. }
  11. public void send3(){
  12. template.convertAndSend("fanoutExchange","topic.message","hello,rabbit2");
  13. }
  14. }

5 适当的方法调用sender类

  1. @RequestMapping("/userLogin")
  2. public String login(HttpSession session, String username, String password, HttpServletRequest request, HttpServletResponse response, Model model) throws Exception {
  3. List<Userinfo> list = service.findUserByUserName(username);
  4. if (list.size() > 0 && list != null) {
  5. Userinfo user = list.get(0);
  6. if (user.getPassword().equals(MD5Utils.md5(password))) {
  7. if (user.getUsertype() != Constant.ADMIN) {
  8. model.addAttribute("info", "权限不足");
  9. return "login";
  10. }
  11. user.setUserstatus(1);
  12. service.update(user);
  13. helloSender.send();
  14. helloSender.send2();
  15. helloSender.send3();
  16. session.setAttribute("loginUser", user);
  17. return "home";
  18. } else {
  19. model.addAttribute("info", "用户名或密码错误");
  20. return "login";
  21. }
  22. }
  23. model.addAttribute("info", "用户名或密码错误");
  24. return "login";
  25. }

发表评论

表情:
评论列表 (有 0 条评论,305人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SpringBoot整合RabbitMQ

    一 RabbitMQ的介绍     RabbitMQ是消息中间件的一种,消息中间件即分布式系统中完成消息的发送和接收的基础软件.这些软件有很多,包括ActiveMQ(apac