springboot整合 rabbitmq

1 添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>2 添加配置文件rabbitmq: passw...
摘要由CSDN通过智能技术生成

1 添加依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

2 添加配置文件

rabbitmq:
  password: admin
  port: 5672
  host: 139.199.33.78
  username: admin

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

@Configuration
public class SenderConf3 {

    @Bean(name="Amessage")
    public Queue AMessage() {
        return new Queue("fanout.A");
    }


    @Bean(name="Bmessage")
    public Queue BMessage() {
        return new Queue("fanout.B");
    }

    @Bean(name="Cmessage")
    public Queue CMessage() {
        return new Queue("fanout.C");
    }

    @Bean
    FanoutExchange fanoutExchange() {
        return new FanoutExchange("fanoutExchange");//配置广播路由器
    }

    @Bean
    Binding bindingExchangeA(@Qualifier("Amessage") Queue AMessage, FanoutExchange fanoutExchange) {
        return BindingBuilder.bind(AMessage).to(fanoutExchange);
    }

    @Bean
    Binding bindingExchangeB(@Qualifier("Bmessage") Queue BMessage, FanoutExchange fanoutExchange) {
        return BindingBuilder.bind(BMessage).to(fanoutExchange);
    }

    @Bean
    Binding bindingExchangeC(@Qualifier("Cmessage") Queue CMessage, FanoutExchange fanoutExchange) {
        return BindingBuilder.bind(CMessage).to(fanoutExchange);
    }

}

4 创建sender类发送消息

@Component
public class HelloSender {
    @Autowired
    private AmqpTemplate template;

    public void send() {
        template.convertAndSend("queue","hello,rabbit~");
    }

    public void send2(){
        template.convertAndSend("exchange","topic.message","hello,rabbit1");
    }
    public void send3(){
        template.convertAndSend("fanoutExchange","topic.message","hello,rabbit2");
    }

}

5 适当的方法调用sender类

@RequestMapping("/userLogin")
public String login(HttpSession session, String username, String password, HttpServletRequest request, HttpServletResponse response, Model model) throws Exception {
    List<Userinfo> list = service.findUserByUserName(username);
    if (list.size() > 0 && list != null) {
        Userinfo user = list.get(0);
        if (user.getPassword().equals(MD5Utils.md5(password))) {
            if (user.getUsertype() != Constant.ADMIN) {
                model.addAttribute("info", "权限不足");
                return "login";
            }
            user.setUserstatus(1);
            service.update(user);
            helloSender.send();
            helloSender.send2();
            helloSender.send3();
            session.setAttribute("loginUser", user);
            return "home";
        } else {
            model.addAttribute("info", "用户名或密码错误");
            return "login";
        }
    }
    model.addAttribute("info", "用户名或密码错误");
    return "login";
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值