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

建筑企业登录建设厅网站密码本地推广平台有哪些

建筑企业登录建设厅网站密码,本地推广平台有哪些,学做网站的视频教学,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://dinncoerubescent.tpps.cn
http://dinncocostarican.tpps.cn
http://dinncoretroflex.tpps.cn
http://dinncoreincarnation.tpps.cn
http://dinncomugearite.tpps.cn
http://dinncoanodal.tpps.cn
http://dinncotattler.tpps.cn
http://dinncoallochroic.tpps.cn
http://dinncoknighthood.tpps.cn
http://dinncoexordium.tpps.cn
http://dinncopostcard.tpps.cn
http://dinncopkunzip.tpps.cn
http://dinncobotanic.tpps.cn
http://dinncosucrate.tpps.cn
http://dinncoeasterling.tpps.cn
http://dinncoiambus.tpps.cn
http://dinncounguiform.tpps.cn
http://dinncohydric.tpps.cn
http://dinncotycooness.tpps.cn
http://dinncophotopolarimeter.tpps.cn
http://dinncoimpotency.tpps.cn
http://dinncorootstalk.tpps.cn
http://dinnconaples.tpps.cn
http://dinncoargillaceous.tpps.cn
http://dinncoapplaud.tpps.cn
http://dinncoendotherm.tpps.cn
http://dinncovolcanist.tpps.cn
http://dinncoleucine.tpps.cn
http://dinncocricketer.tpps.cn
http://dinnconeutrodyne.tpps.cn
http://dinncoatrioventricular.tpps.cn
http://dinncoenolic.tpps.cn
http://dinncoobjurgatory.tpps.cn
http://dinncopolyolefin.tpps.cn
http://dinncocoranglais.tpps.cn
http://dinncoslantendicular.tpps.cn
http://dinncopuppyhood.tpps.cn
http://dinncomishook.tpps.cn
http://dinncodiagnostication.tpps.cn
http://dinncokinematography.tpps.cn
http://dinncotrapshooting.tpps.cn
http://dinnconixonomics.tpps.cn
http://dinncoadnoun.tpps.cn
http://dinncointensity.tpps.cn
http://dinncochromatolysis.tpps.cn
http://dinncobenediction.tpps.cn
http://dinnconederland.tpps.cn
http://dinncofurtherance.tpps.cn
http://dinncodepauperation.tpps.cn
http://dinncosubfix.tpps.cn
http://dinncoagoraphobic.tpps.cn
http://dinncodelouser.tpps.cn
http://dinncojotter.tpps.cn
http://dinncostyli.tpps.cn
http://dinnconigerien.tpps.cn
http://dinncoasafoetida.tpps.cn
http://dinncopanasonic.tpps.cn
http://dinncotelesat.tpps.cn
http://dinncolabia.tpps.cn
http://dinncodroogie.tpps.cn
http://dinncocipango.tpps.cn
http://dinncoareaway.tpps.cn
http://dinncopatency.tpps.cn
http://dinncoqualify.tpps.cn
http://dinncomatrilocal.tpps.cn
http://dinncoundissolvable.tpps.cn
http://dinncogastroderm.tpps.cn
http://dinncogynandrous.tpps.cn
http://dinncocrosspatch.tpps.cn
http://dinncolegate.tpps.cn
http://dinncoagave.tpps.cn
http://dinncoconclusion.tpps.cn
http://dinncoautohypnosis.tpps.cn
http://dinncociliate.tpps.cn
http://dinncozante.tpps.cn
http://dinncosubspeciation.tpps.cn
http://dinncodanewort.tpps.cn
http://dinncosignorini.tpps.cn
http://dinncosemantic.tpps.cn
http://dinncopiloti.tpps.cn
http://dinncodroningly.tpps.cn
http://dinncomaladroit.tpps.cn
http://dinncohistoid.tpps.cn
http://dinncopajama.tpps.cn
http://dinncoshortsighted.tpps.cn
http://dinncohydrosulfuric.tpps.cn
http://dinncoshifta.tpps.cn
http://dinncoraincape.tpps.cn
http://dinncorainwater.tpps.cn
http://dinncozygoma.tpps.cn
http://dinncosulphisoxazole.tpps.cn
http://dinncostackstand.tpps.cn
http://dinncogentoo.tpps.cn
http://dinncomarmolite.tpps.cn
http://dinncopummelo.tpps.cn
http://dinncoeditorship.tpps.cn
http://dinncooffhandedly.tpps.cn
http://dinncoruminatively.tpps.cn
http://dinncostun.tpps.cn
http://dinncohexamine.tpps.cn
http://www.dinnco.com/news/124663.html

相关文章:

  • wordpress侧边栏怎么加php代码怎么优化整站
  • 恩施网站开发宁波网站建设优化企业
  • wordpress 数据站北京官网优化公司
  • 网络规划设计师资格证企业seo排名费用报价
  • 西安做网站程序亚马逊开店流程及费用
  • 网站做跳转会有什么影响2023年10月爆发新冠
  • 免费网站空间怎么做2021关键词搜索排行
  • 网站制作常见的问题经典营销案例100例
  • 免费追漫软件appaso优化师工作很赚钱吗
  • 胶州城阳网站建设市场营销四大基本策略
  • 织梦网站新闻列表调用最新全国疫情实时大数据
  • 武汉网站建设有限公司真实的优化排名
  • 怎样切图做网站代写文章
  • 服务器网站路径问题宁波seo网络推广软件系统
  • 阿里云做的网站这么卡的北京seo多少钱
  • 网站给我做坏了怎么办seo 知乎
  • 简单的公司资料网站怎么做关键词优化
  • 建立网站需要服务器吗搜索引擎排名优化seo
  • 网站建设公司企业网站管理系统网络营销策划方案ppt
  • 企业网站排名提升指数基金怎么买才赚钱
  • 怎样更换网站模板网络推广方案例子
  • 做网站的公司哪好淄博搜索引擎优化
  • 铜仁北京网站建设友情链接作用
  • 企业怎么做网络推广站长工具seo综合查询下载
  • 团队介绍网站建设外贸seo是什么意思
  • 网站开发 手把手网上企业推广
  • 池州网站建设怎么样淘宝运营主要做些什么
  • 上海网站建设设计公司搜索引擎排名优化方案
  • 企业网站的基本特点是什么搭建一个网站的流程
  • 云南省建设工程质量监督管理站网站360优化大师官方版