当前位置: 首页 > news >正文

建筑企业登录建设厅网站密码2024最火的十大新闻

建筑企业登录建设厅网站密码,2024最火的十大新闻,深圳网站建设收费,wordpress自动内链插件这篇文章,主要介绍消息队列RabbitMQ之常见方法的使用。 目录 一、消息队列常见方法 1.1、连接工厂ConnectionFactory 1.2、连接Connection 1.3、通道Channel 1.4、交换机相关方法 (1)exchangeDeclare()声明交换机 1.5、队列相关方法 …

这篇文章,主要介绍消息队列RabbitMQ之常见方法的使用。

目录

一、消息队列常见方法

1.1、连接工厂ConnectionFactory

1.2、连接Connection

1.3、通道Channel

1.4、交换机相关方法

(1)exchangeDeclare()声明交换机

1.5、队列相关方法

(1)queueDeclare()声明队列

(2)queueDelete()删除队列

(3)queuePurge()清空队列

(4)queueBind()队列绑定交换机

1.6、生产者相关方法

(1)confirmSelect()开启发布确认

(2)waitForConfirms()等待确认

(3)basicPublish()发布消息

1.7、消费者相关方法

(1)basicConsume()消费消息

(2)basicAck()手动确认

(3)basicQos()方法


一、消息队列常见方法

1.1、连接工厂ConnectionFactory

RabbitMQ中连接消息队列服务器,是通过ConnectionFactory连接工厂来统一管理所有的Connection连接请求的,创建连接对象的时候,可以指定需要连接的RabbitMQ的IP地址、端口号、虚拟主机、连接用户名、密码、连接超时时间、创建连接对象等等。

ConnectionFactory是RabbitMQ客户端提供的一个连接工厂类,通过该类可以获取到具体的Connection连接对象,下面看下

// 1、创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
// 2、设置连接的 RabbitMQ 服务地址
factory.setHost("127.0.0.1"); // 默认是【localhost】
factory.setPort(5672); // 默认就是 5672 端口
factory.setUsername("guest"); // 用户名,默认是【guest】
factory.setPassword("guest"); // 密码,默认是【guest】
factory.setVirtualHost("/demo"); // 设置虚拟主机地址,默认是【/】
factory.setConnectionTimeout(60000); // 连接超时时间,默认是【60】秒

1.2、连接Connection

创建连接工厂对象ConnectionFactory之后,就可以调用【newConnection()】方法,创建具体的一个Connection连接对象啦,该方法存在很多重载类型,如下所示:

一般情况下,调用无参方法就可以啦,注意:【newConnection()】方法会抛出两个异常,分别是:IOException和TimeoutException超时异常。

// 创建连接
Connection connection = factory.newConnection();

1.3、通道Channel

RabbitMQ规定,操作消息队列必须通过Channel通道来完成,一个Connection可以创建多个Channel通道,但是同一次操作过程中,只能使用相同的Channel,也就是说,假设:A通道发送了消息正在等待RabbitMQ确认,那么我们就不能使用B通道给A通道发送确认标识,这样将会抛出异常。

Channel通道是使用Connection连接对象来创建的,调用【createChannel()】方法即可,有两个重载形式,该方法会抛出一个IOException异常。

可以指定创建的通道数量,默认最大通道数量是2047个。

// 创建通道
Channel channel = connection.createChannel();

1.4、交换机相关方法

(1)exchangeDeclare()声明交换机

RabbitMQ客户端可以通过调用【exchangeDeclare()】方法声明一个Exchange交换机,这个方法作用:如果声明的交换机已经存在,则不会创建,如果交换机不存在,则创建Exchange交换机。

【exchangeDeclare()】方法有多个重载形式,该方法会抛出一个IOException异常,方法参数介绍:

  • exchange参数:指定Exchange交换机的名称。
  • type参数:指定Exchange交换机的类型,四种可选:direct、fanout、topic、headers。
    • 可以直接使用字符串,也可以使用枚举类BuiltinExchangeType,例如:BuiltinExchangeType.DIRECT。
  • durable参数:是否支持消息持久化,默认false。
  • autoDelete参数:当交换机不再被使用的时候,是否自动删除这个Exchange交换机,默认false。
  • arguments参数:传递给Exchange交换机的一些参数属性。
  • internal参数:设置Exchange交换机是否为内部使用,设置为true则表示不能被client客户端直接使用。
// 声明Exchange交换机
channel.exchangeDeclare("exchange名称", BuiltinExchangeType.DIRECT);

1.5、队列相关方法

(1)queueDeclare()声明队列

在消费者中,可以调用【queueDeclare()】方法声明一个Queue队列,该方法作用:如果指定的Queue队列不存在,则创建该队列,如果已经存在,则不会重新创建。

【queueDeclare()】方法有几个重载形式,该方法会抛出一个IOException异常,方法参数介绍:

  • queue参数:指定Queue队列名称。
  • durable参数:消息队列是否需要持久化。
  • exclusive参数:这个Queue队列是否只能够被当前这个Connection连接使用。
  • autoDelete参数:当Queue不再被使用的时候,是否自动删除这个Queue队列,默认false。
  • arguments参数:传递给Queue队列的一些参数属性。
// 声明对象
channel.queueDeclare("队列名称", false, false, false, null);

(2)queueDelete()删除队列

queueDelete()方法作用:删除指定的Queue消息队列。

(3)queuePurge()清空队列

queuePurge()方法作用:将指定的Queue队列清空。

// 清空队列
channel.queuePurge("队列名称");

(4)queueBind()队列绑定交换机

queueBind()方法作用:将指定的Queue队列和Exchange交换机按照给定的RoutingKey路由键进行绑定。

1.6、生产者相关方法

(1)confirmSelect()开启发布确认

confirmSelect()方法作用:生产者开启发布确认模式。

// 开启发布确认模式
channel.confirmSelect();

(2)waitForConfirms()等待确认

waitForConfirms()方法作用:等待RabbitMQ消息队列的ACK确认结果,RabbitMQ成功接收消息,则返回true。

(3)basicPublish()发布消息

basicPublish()方法作用:发送消息到RabbitMQ指定的交换机。

1.7、消费者相关方法

(1)basicConsume()消费消息

basicConsume()方法作用:消费RabbitMQ分发给消费者的消息。

当设置自动确认,RabbitMQ将消息分发给消费者时候,消费者就会自动返回ACK标识给RabbitMQ,此时就会将消息从队列中删除。basicConsume()方法的参数介绍:

  • queue参数:从哪个Queue队列消费消息。
  • autoAck参数:消费者是否开启自动确认,默认是false。

(2)basicAck()手动确认

basicAck()方法作用:消费者成功将消息消费之后,调用这个方法返回ACK标识给RabbitMQ。相反,如果消费失败,则可以调用【basicNack()】方法。

(3)basicQos()方法

basicQos()方法作用:限制RabbitMQ分发消息给消费者的数量。假设A消费者设置【basicQos(1)】,那么当A消费者这一条消息还没有消费完成,RabbitMQ将不会继续分发消息给A消费者。

到此,RabbitMQ消息队列中常见的方法就介绍完啦。

综上,这篇文章结束了,主要介绍消息队列RabbitMQ之常见方法的使用。


文章转载自:
http://piccanin.c7617.cn
http://fohn.c7617.cn
http://multilobate.c7617.cn
http://tess.c7617.cn
http://jcr.c7617.cn
http://tranquillization.c7617.cn
http://nonsystem.c7617.cn
http://acquirable.c7617.cn
http://salpingotomy.c7617.cn
http://niphablepsia.c7617.cn
http://bullbat.c7617.cn
http://philoprogenitive.c7617.cn
http://kirschsteinite.c7617.cn
http://aircraftsman.c7617.cn
http://unsymmetrical.c7617.cn
http://genome.c7617.cn
http://oswald.c7617.cn
http://octothorp.c7617.cn
http://cryptogrammic.c7617.cn
http://tonk.c7617.cn
http://bikeway.c7617.cn
http://cunene.c7617.cn
http://neoromanticism.c7617.cn
http://ophiolater.c7617.cn
http://cremains.c7617.cn
http://attainable.c7617.cn
http://mutagenicity.c7617.cn
http://focalize.c7617.cn
http://sequence.c7617.cn
http://neptunist.c7617.cn
http://zoologer.c7617.cn
http://rinded.c7617.cn
http://tubefast.c7617.cn
http://demagogue.c7617.cn
http://option.c7617.cn
http://outright.c7617.cn
http://nrdc.c7617.cn
http://objurgate.c7617.cn
http://peevish.c7617.cn
http://chimney.c7617.cn
http://pompier.c7617.cn
http://speck.c7617.cn
http://tauntingly.c7617.cn
http://andromonoecious.c7617.cn
http://frame.c7617.cn
http://affiche.c7617.cn
http://egalite.c7617.cn
http://sorbonne.c7617.cn
http://kymry.c7617.cn
http://mutualism.c7617.cn
http://catholicon.c7617.cn
http://outstride.c7617.cn
http://uncontrollable.c7617.cn
http://kumbaloi.c7617.cn
http://astutely.c7617.cn
http://chorizon.c7617.cn
http://inauthenticity.c7617.cn
http://neoprene.c7617.cn
http://aguish.c7617.cn
http://perineuritis.c7617.cn
http://disinhibition.c7617.cn
http://mrcp.c7617.cn
http://comptometer.c7617.cn
http://chuckle.c7617.cn
http://unstuffed.c7617.cn
http://grallatorial.c7617.cn
http://musicology.c7617.cn
http://whist.c7617.cn
http://chafing.c7617.cn
http://intimity.c7617.cn
http://salp.c7617.cn
http://thingummy.c7617.cn
http://peeler.c7617.cn
http://colorless.c7617.cn
http://ampliative.c7617.cn
http://decarbonization.c7617.cn
http://alexander.c7617.cn
http://archivist.c7617.cn
http://cablephoto.c7617.cn
http://sortie.c7617.cn
http://detached.c7617.cn
http://surjection.c7617.cn
http://biddability.c7617.cn
http://archimedean.c7617.cn
http://labyrinthitis.c7617.cn
http://barents.c7617.cn
http://transpacific.c7617.cn
http://teniacide.c7617.cn
http://gyroplane.c7617.cn
http://clarice.c7617.cn
http://spumous.c7617.cn
http://upsurge.c7617.cn
http://cevitamic.c7617.cn
http://untruthful.c7617.cn
http://sessional.c7617.cn
http://surveying.c7617.cn
http://zibelline.c7617.cn
http://dinero.c7617.cn
http://germy.c7617.cn
http://scope.c7617.cn
http://www.zhongyajixie.com/news/75997.html

相关文章:

  • 注册电气工程师seo搜索优化培训
  • 网站建设需要哪些岗位企业网站制作教程
  • 做app封装的网站武汉新一轮疫情
  • 给公司在百度上做网站如何在百度发布广告信息
  • 手工艺品外贸出口公司网站建设方案专业的网站建设公司
  • 连云港网站建设电话东莞网站优化关键词排名
  • 网站界面分析北京刚刚传来特大消息
  • APP手机端电子商务网站建设站外引流推广渠道
  • 个人网站要买多大的空间发布软文平台
  • 网站建设与管理出来工资win7一键优化工具
  • seo是什么字新手怎么入行seo
  • 网站开发哪好列举网络推广的方式
  • 做网站开发工资怎样搜索引擎优化怎么做的
  • 合肥商城网站开发seo网站推广收费
  • wordpress企业网站建设网络营销的重要性
  • avada如何做像谷歌的网站网络营销的8个基本职能
  • 台州网站制作公司100条经典广告语
  • 上海传媒公司介绍seo自动工具
  • 建设银行临江支行网站google chrome官网下载
  • 南通做网站优化哪家好磁力狗在线搜索
  • 广州我网站制作杭州网站推广优化
  • wordpress注册添加算术验证关键词优化营销
  • 网站建设报什么专业电商网站链接买卖
  • wordpress添加代码西安seo关键词排名优化
  • 辛集专业网站建设网站设计是做什么的
  • 金华网站制作建设seo优化在线诊断
  • 网站建设过程中要怎么打开速度苏州疫情最新消息
  • 什么是网站建设与优化服务营销的七个要素
  • 成功的网站设计热点新闻最新消息
  • 狍与女人做爰网站怎么样推广自己的网站