rabbitmq消息队列

安装:

首先服务器安装rabbitmq,自行百度

https://www.cnblogs.com/liaojie970/p/6138278.html

添加rabbitmq的用户默认不能远程访问,需要配置

https://blog.csdn.net/andrewniu/article/details/80255829

安装控制台插件

默认端口5726  控制台默认端口15672

 rabbitmq-plugins.bat enable rabbitmq_management

 

/sbin/rabbitmq-server -detached
/sbin/rabbitmqctl status

常用命令:

http://www.imooc.com/article/274464

交换器讲解:

https://www.cnblogs.com/vipstone/p/9295625.html

配置:

spring.rabbitmq.host=localhost

# rabbitmq的端口

spring.rabbitmq.port=5672

# rabbitmq的用户名

spring.rabbitmq.username=admin

# rabbitmq的用户密码

spring.rabbitmq.password=admin

#最大重试次数

spring.rabbitmq.listener.simple.retry.max-attempts=5

# 是否开启消费者重试(为false时关闭消费者重试,这时消费端代码异常会一直重复收到消息)spring.rabbitmq.listener.simple.retry.enabled=true

#重试间隔时间(单位毫秒)

spring.rabbitmq.listener.simple.retry.initial-interval=2000

#重试次数超过上面的设置之后是否丢弃(false不丢弃时需要写相应代码将该消息加入死信队列)spring.rabbitmq.listener.simple.default-requeue-rejected=false

 

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

 

消息发送方:

 

 @Autowired
 private AmqpTemplate rabbitAmqpTemplate;

    public void send(MessageEntity msg, String routingkey){
    /**
    * convertAndSend - 转换并发送消息的template方法。
    * 是将传入的普通java对象,转换为rabbitmq中需要的message类型对象,并发送消息到rabbitmq中。
    * 参数一:交换器名称。 类型是String
    * 参数二:路由键。 类型是String
    * 参数三:消息,是要发送的消息内容对象。类型是Object
    */
    this.rabbitAmqpTemplate.convertAndSend(this.exchange, routingkey, msg);
}

 

消息消费方:

 

@Component
@RabbitListener(
        bindings=@QueueBinding(
                value=@Queue(value="log.error", autoDelete="false"),
                exchange=@Exchange(value="PANYUZAI_SERVICE_A", type= ExchangeTypes.TOPIC),
                key="PANYUZAI_SEND_MESSAGE_TRUE"
        )
)
public class ConsumerMessageTrue {
        private Logger logger = LoggerFactory.getLogger(ConsumerMessageTrue.class);

        @RabbitHandler
        public void process(MessageEntity msg){
                logger.warn("ConsumerMessageTrue param:"+ JSON.toJSONString(msg));
        }
}

 

死信队列:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值