gta5买房子网站建设,wordpress怎么修改栏目标题,摄影设计方案,设计工作室营业执照这篇文章#xff0c;主要介绍RabbitMQ消息队列中七种模式里面最简单的使用模式。 目录
一、消息队列的使用
1.1、消息队列七种模式
1.2、最简单的模式使用
#xff08;1#xff09;引入依赖
#xff08;2#xff09;编写生产者
#xff08;3#xff09;编写消费者… 这篇文章主要介绍RabbitMQ消息队列中七种模式里面最简单的使用模式。 目录
一、消息队列的使用
1.1、消息队列七种模式
1.2、最简单的模式使用
1引入依赖
2编写生产者
3编写消费者 一、消息队列的使用
1.1、消息队列七种模式
RabbitMQ官方提供了七种消息队列的使用方式分别如下所示 最简单的模式最简单的模式就是生产者直接向消息队列发生消息然后消费者从消息队列消费消息。工作队列模式这支持一个消息队列允许多个消费者同时进行消费相当于是多线程并发消费默认是采用轮询的策略分发消息。发布订阅模式这里就需要引入Exchange交换机了每一个消息队列可以订阅这个Exchange交换机当交换机接收到消息之后会将这个一条消息发布到所有订阅的消息队列里面。路由模式路由模式允许消息队列从Exchange交换机里面接收指定RouteKey路由键的消息不是这个路由键的消息将不会被分发到消息队列里面。主题模式这可以将一类消息全部分发到指定的消息队列里面并且Topics模式支持通配符指定RouteKey路由键。RPC模式这种模式我没怎么学习。发布确认模式这种模式是为了保证生产者发送的消息一定能够到达RabbitMQ里面的一种方式是解决消息丢失问题的。
1.2、最简单的模式使用
最简单的模式只有一个消息队列生成者向指定的消息队列里面发送消息然后消费者从指定的消息队列里面消费消息。 注意需要启动RabbitMQ消息队列服务哦不然运行代码会报错。 1引入依赖
!-- 引入 RabbitMQ 依赖 --
dependencygroupIdcom.rabbitmq/groupIdartifactIdamqp-client/artifactIdversion5.16.0/version
/dependency
2编写生产者
package com.rabbitmq.demo.simple;import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;/*** version 1.0.0* Date: 2023/2/25 16:23* Copyright (C) ZhuYouBin* Description: 消息生产者*/
public class Producer {public static void main(String[] args) {// 1、创建连接工厂ConnectionFactory factory new ConnectionFactory();// 2、设置连接的 RabbitMQ 服务地址factory.setHost(127.0.0.1); // 默认就是本机factory.setPort(5672); // 默认就是 5672 端口// 3、获取连接Connection connection null; // 连接Channel channel null; // 通道try {connection factory.newConnection();// 4、获取通道channel connection.createChannel();// 5、指定需要操作的消息队列如果队列不存在则会创建channel.queueDeclare(queue_demo_2023, false, false, false, null);// 6、发送消息String message 这是最简单的模式发送的消息数据;channel.basicPublish(, queue_demo_2023, null, message.getBytes());} catch (Exception e) {e.printStackTrace();} finally {if (null ! channel) {try {channel.close();} catch (Exception e) {}}if (null ! connection) {try {connection.close();} catch (Exception e) {}}}}
}运行上面的生产者代码查看RabbitMQ控制台可以发现此时有一条消息啦。 3编写消费者
package com.rabbitmq.demo.simple;import com.rabbitmq.client.*;import java.io.IOException;/*** version 1.0.0* Date: 2023/2/25 16:30* Copyright (C) ZhuYouBin* Description: 消息消费者*/
public class Consumer {public static void main(String[] args) {// 1、创建连接工厂ConnectionFactory factory new ConnectionFactory();// 2、设置连接的 RabbitMQ 服务地址factory.setHost(127.0.0.1); // 默认就是本机factory.setPort(5672); // 默认就是 5672 端口// 3、获取连接Connection connection null; // 连接Channel channel null; // 通道try {connection factory.newConnection();// 4、获取通道channel connection.createChannel();// 5、指定需要操作的消息队列如果队列不存在则会创建channel.queueDeclare(queue_demo_2023, false, false, false, null);// 6、消费消息DeliverCallback callback new DeliverCallback() {public void handle(String s, Delivery delivery) throws IOException {// 接收消息System.out.println(这是接收的消息 new String(delivery.getBody()));}};channel.basicConsume(queue_demo_2023, true, callback, i-{});} catch (Exception e) {e.printStackTrace();}}
}运行消费者代码查看控制台输出以及RabbitMQ控制界面可以发现此时消息队列中的消息不存在了。 到这里RabbitMQ最简单的消息发送和消费就完成啦。 综上这篇文章结束了主要介绍RabbitMQ消息队列中七种模式里面最简单的使用模式。