rabbitmq使用方法

1 导入依赖
        

   <!--支持RabbitMQ-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>

2 创建生产者发送消息
        

@Resource
    private RabbitTemplate rabbitTemplate;

    /**
     * iot_passage发送端
     * @param userId
     */
    public void  insertApplicationSend(Long userId){
        // 设置自动转换json格式
        rabbitTemplate.setMessageConverter(new Jackson2JsonMessageConverter());
        // 发送到消息队列
        rabbitTemplate.convertAndSend("IOTPASSAGE_insert_application",userId);
    }

3 创建rabbitmq配置 implements RabbitListenerConfigurer
 

    @Bean
    public Queue iotPassageInsertQueue(){
        return new Queue("IOTPASSAGE_insert_application");
    }

    @Override
    public void configureRabbitListeners(RabbitListenerEndpointRegistrar rabbitListenerEndpointRegistrar) {
        rabbitListenerEndpointRegistrar.setMessageHandlerMethodFactory(messageHandlerMethodFactory());
    }

    @Bean
    MessageHandlerMethodFactory messageHandlerMethodFactory() {
        DefaultMessageHandlerMethodFactory messageHandlerMethodFactory = new DefaultMessageHandlerMethodFactory();
        messageHandlerMethodFactory.setMessageConverter(mappingJackson2MessageConverter());
        return messageHandlerMethodFactory;
    }

    @Bean
    public MappingJackson2MessageConverter mappingJackson2MessageConverter() {
        return new MappingJackson2MessageConverter();
    }

4 创建消费者消费消息
   

 @RabbitHandler
    @RabbitListener(queues = "IOTPASSAGE_insert_application")
    public void insertApplicationReceive(Long userId){
        try {
            // 人商机单新增刷脸时间
            yxOwnerMatchingApplicationMapper.updateByOwnerIdOwnerMatchingApplication(userId,new Date());
            YxOwnerMatchingApplication yxOwnerMatchingApplication = yxOwnerMatchingApplicationMapper.selectByOwnerId(userId);
            if (yxOwnerMatchingApplication != null){
                // 户商机单取最新刷脸时间
                yxHouseMatchingApplicationMapper.updateByOwnerIdHouseMatchingApplication(yxOwnerMatchingApplication.getRoomId(),new Date());
            }
        }catch (Exception e){
            log.error("iot_passage插入商机单接收端代码报错如下:");
            e.printStackTrace();
        }
    }

5 nacos配置注册rabbitmq服务
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值