![](https://img-blog.csdnimg.cn/2020120323235828.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
rabbitmq
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
盖了帽
这个作者很懒,什么都没留下…
展开
-
rabbitmq中confirm和return模式的使用
confirm模式开启confirm模式channel.confirmSelect();这种模式,消息到达交换机时触发,若成功/失败到达交换机时,调用成功/失败回调函数。import com.rabbitmq.client.*;import java.io.IOException;public class Sender { public static void main(String[] args) { ConnectionFactory factory = Rab.原创 2021-01-05 17:17:01 · 912 阅读 · 0 评论 -
rabbitmq保证消息投递成功的对比分析
pom.xml引入rabbitmq所需jar包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ht.原创 2021-01-05 11:55:57 · 126 阅读 · 0 评论 -
Springboot注解方式整合RabbitMQ
第1步:引入POM依赖核心POM<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>全部pom.xml内容<?xml version="1.0" encoding="UTF-8"?><project原创 2020-12-08 09:24:02 · 568 阅读 · 0 评论 -
RabbitMQ设置死信队列
学习死信队列,首先要理解死信产生的原因或条件:消息被拒 ( basic.reject or basic.nack ) 并且没有重新入队 ( requeue=false );消息在队列中过期,即当前消息在队列中的存活时间已经超过了预先设置的TTL ( Time To Live ) 时间;当前队列中的消息数量已经超过最大长度。一旦消息变成了死信,那么消息就会被送至死信交换机,再路由至死信队列。Map<String, Object> argMap = new HashMa原创 2020-12-07 15:58:23 · 632 阅读 · 0 评论 -
RabbitMQ设置TTL生存时间
public static void main(String[] args) throws IOException, TimeoutException { ConnectionFactory factory = new ConnectionFactory(); { factory.setHost("49.232.202.201"); factory.setUsername("gosuncn"); factory.setPassword("123原创 2020-12-07 15:41:18 · 681 阅读 · 0 评论 -
RabbitMQ投递消息时确认机制Confirm和Return
import com.rabbitmq.client.Channel;import com.rabbitmq.client.ConfirmListener;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;import java.io.IOException;import java.util.concurrent.TimeoutException;public class Se原创 2020-12-07 14:46:33 · 427 阅读 · 0 评论 -
Springboot配置类方式整合RabbitMQ
第1步:创建Springboot项目,并引入相关依赖核心依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>完整POM文件<?xml version="1.0" encoding="UTF-8"?><p原创 2020-12-07 11:19:43 · 462 阅读 · 0 评论 -
RabbitMQ简单演示直连(路由)模式
消费者Work01消费order路由键对应的队列,代码演示:import com.rabbitmq.client.BuiltinExchangeType;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;import java.io.IOException;import java.util.concurrent原创 2020-12-05 23:05:25 · 179 阅读 · 0 评论 -
RabbitMQ简单演示发布订阅模式
发布订阅模式用到了交换机,消息不再直接发送给队列了,其实消息本来也没直接发送给队列,在工作队列和简单的HelloWorld代码里,我们其实发送至的是一个默认交换机。而发布订阅模式需要自己定义一个交换机。将消息发送给交换机,再由交换机的类型分发给队列。发布订阅模式中交换机的类型是BuiltinExchangeType.FANOUT,即“fanout”。话不多说,代码,上!public class SendMessage { private static final ConnectionFac原创 2020-12-05 22:42:17 · 142 阅读 · 0 评论 -
RabbitMQ工作队列模式
在上一章节《RabbitMQ 简单的 Hello World 程序》,我们演示了简单的队列模式。想象一下,如果有多个消费者消费消息会怎么分配消息呢?我们将接收消费的代码重命名为Work并复制一份。同时,我们将发送消息的代码循环20次:for (int i = 0; i < 20; i++) { channel.basicPublish("", Constant.QUEUE_NAME, null, ("work" + i).getBytes()); System.out.pri原创 2020-12-05 09:27:15 · 101 阅读 · 0 评论 -
RabbitMQ 简单的 Hello World 程序
要想使用RabbitMQ客户端的API,首先要引入依赖。<dependencies> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.10.0</version> </dependency><原创 2020-12-04 15:17:45 · 172 阅读 · 0 评论 -
RabbitMQ在CentOS7上的RPM方式安装
第①步:安装 erlangrpm -ivh erlang-23.1.1-1.el7.x86_64.rpmerlang-23.1.1-1.el7.x86_64.rpm下载第②步:安装 socatrpm -ivh socat-1.7.3.2-2.el7.x86_64.rpmsocat-1.7.3.2-2.el7.x86_64.rpm下载第③步:安装 rabbitmq-serverrpm -ivh rabbitmq-server-3.8.9-1.el7.noarch.rpmrab.原创 2020-12-03 23:33:51 · 505 阅读 · 0 评论