RabbitMQ延时插件

使用场景

发送延时消息

安装

查看插件目录

rabbitmq-plugins directories -s

进入插件目录

cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.10.0/plugins

下载插件(版本和 rabbitmq 一致)

wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/3.10.0/rabbitmq_delayed_message_exchange-3.10.0.ez		

安装插件

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

重启

service rabbitmq-server restart

配置交换机、队列、路由键

@Bean
public CustomExchange delayedExchange() {
	Map<String, Object> args = new HashMap<>();
    args.put("x-delayed-type", "direct");
    CustomExchange customExchange = new CustomExchange(YOUR_EXCHANGE_NAME, "x-delayed-message", true, false, args);
    return customExchange;
}

@Bean
public Queue delayedQueue() {
	return new Queue(YOUR_QUEUE_NAME);
}

@Bean
public Binding delayedBinding() {
	return BindingBuilder.bind(delayedQueue()).to(delayedExchange()).with(YOUR_ROUTING_KEY).noargs();
}

发送延时消息

public void sendDelayed(String message, Long millis) {
	rabbitTemplate.convertAndSend(YOUR_EXCHANGE_NAME, YOUR_ROUTING_KEY, message, msg -> {
    	msg.getMessageProperties().setHeader("x-delay", millis);
        	return msg;
    });
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值