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

做视频网站 投入怎样用自己的pid做搜索网站

做视频网站 投入,怎样用自己的pid做搜索网站,烟台做网站要多少钱,xyz域名注册局官方网站一、什么是RabbitMQ RabbitMQ 是一款基于 ‌AMQP(高级,消息队列协议)‌ 的开源消息中间件,专为分布式系统设计,用于实现应用程序间的异步通信,其核心功能是通过 ‌消息代理(Message Broker&…

一、什么是RabbitMQ

RabbitMQ 是一款基于 ‌AMQP(高级,消息队列协议)‌ 的开源消息中间件,专为分布式系统设计,用于实现应用程序间的异步通信,其核心功能是通过 ‌消息代理(Message Broker)‌ 机制,实现可靠的消息传递、存储和路由,支持跨语言和跨平台交互。


 二、RabbitMQ的工作流程

1. Producer 和 Broker 建立一个连接(Connection)并声明一个信道(channel);

2. Producer 声明 一个交换机(Exchange);

3. Producer 声明一个队列(Queue);

4. Producer 与 Broker 连接建立完毕,开始向 Broker 传输信息


三、RabbitMQ使用方法(入门)

3.1 引入依赖

创建一个maven项目并添加RabbitMQ依赖:

  <dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version>5.20.0</version></dependency>

3.2 创建实体类ProducerDemo,ConsumerDemo

package rabbitmq;import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;import java.io.IOException;
import java.util.concurrent.TimeoutException;public class ProducerDemo {public static void main(String[] args) throws IOException, TimeoutException {/** 根据rabbitmq的工作流程图,主要工作分为4步:* 1.服务器ip* 2.服务器端口号* 3.账号、密码* 4.虚拟主机*///1.建立连接ConnectionFactory connectionFactory = new ConnectionFactory();connectionFactory.setHost("110.41.17.130");connectionFactory.setPort(5672);connectionFactory.setPassword("study");connectionFactory.setUsername("study");connectionFactory.setVirtualHost("java113");Connection connection = connectionFactory.newConnection();//2.开启信道Channel channel = connection.createChannel();//3.声明交换机(使用内置交换机)//4.声明队列/*AMQP.Queue.DeclareOk queueDeclare(String var1, boolean var2, boolean var3, boolean var4, Map<String, Object> var5) throws IOException;**参数说明:* s: 队列名* b: 可持久化* b1: 是否独占( 是否只能有一个消费者读取队列中的信息)* b2: 没有消费者时是否自动删除* map: 参数*/channel.queueDeclare("hello",true,false,false,null);//5.发送消息/** void basicPublish(String var1, String var2, AMQP.BasicProperties var3, byte[] var4) throws IOException;* 参数说明:* var1 交换机名称* var2 内置交换机,和队列名称一致(路由规则)* var3 属性配置* var4 消息*/for (int i = 0; i < 10; i++) {String msg = "hello rabbitmq " + i;channel.basicPublish("","hello",null,msg.getBytes());}System.out.println("消息发送成功");//6.进行资源释放channel.close();connection.close();}
}
package rabbitmq;import com.rabbitmq.client.*;import java.io.IOException;
import java.util.concurrent.TimeoutException;public class ConsumerDemo {public static void main(String[] args) throws IOException, TimeoutException, InterruptedException {//1.创建连接ConnectionFactory connectionFactory = new ConnectionFactory();connectionFactory.setHost("110.41.17.130");connectionFactory.setPort(5672);connectionFactory.setUsername("study");connectionFactory.setPassword("study");connectionFactory.setVirtualHost("java113");Connection connection = connectionFactory.newConnection();//2.创建channelChannel channel = connection.createChannel();//3.声明一个队列(如果生产者声明了可以省略)channel.queueDeclare("hello",true,false,false,null);//4.消费消息/** 参数说明:* 1. 队列名称* 2. 是否自动确认(即确认consumer是否收到消息)* 3. 接收到消息后,执行的逻辑*/DefaultConsumer consumer = new DefaultConsumer(channel){@Overridepublic void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {//TODOSystem.out.println("接收消息" + new String(body));}};channel.basicConsume("hello",true,consumer);Thread.sleep(1000);//5.释放资源channel.close();connection.close();}
}

1> 运行生产者代码:

查看RabbitMQ管理界面的队列信息:

可以看到,队列中新增了10条信息

2>运行消费者代码

查看队列信息:

可以看到,队列中的信息已经被消费完毕


四、总结

在RabbitMQ的使用中,主要有以下几步:

1> 建立连接:无论是生产者还是消费者,要与服务器建立连接,需要知道:

       (1)服务器的 IP 地址和 端口号;

       (2)用户名 和 密码;

       (3)要连接到服务器的哪台虚拟机。

2>创建信道(channel)

3>声明交换机(使用内置交换机可不用声明)

4>声明队列(如果生产者已经声明队列,消费者可以不声明(不建议))

5>生产者使用 channel.basicPublish 方法发送信息,消费者使用chaanel.basicConsumer 方法消费信息


文章转载自:

http://ozrncyi4.spftz.cn
http://wdW7FDrf.spftz.cn
http://pBtJUkBf.spftz.cn
http://PKnA1OLl.spftz.cn
http://qGMvHfGM.spftz.cn
http://AjVCqFSb.spftz.cn
http://kMZNd7at.spftz.cn
http://AdsGmoSk.spftz.cn
http://CiMqM7vC.spftz.cn
http://ZfHYjrF5.spftz.cn
http://HX7YMCTD.spftz.cn
http://Qdj706kV.spftz.cn
http://V2IJVFPX.spftz.cn
http://u5bj2SPK.spftz.cn
http://pPpx53JL.spftz.cn
http://B5nmlZzD.spftz.cn
http://iCNeYb51.spftz.cn
http://Af3US3CQ.spftz.cn
http://EeMNdHBj.spftz.cn
http://CRsoaw8p.spftz.cn
http://PclBRrl3.spftz.cn
http://FA6PsWdS.spftz.cn
http://bgFlif2U.spftz.cn
http://vyrQBEl3.spftz.cn
http://CSEfllrj.spftz.cn
http://36uNhAAW.spftz.cn
http://75DIXIqK.spftz.cn
http://cZ0hUnrB.spftz.cn
http://u86QUrsv.spftz.cn
http://eAwlRTQU.spftz.cn
http://www.dtcms.com/wzjs/701376.html

相关文章:

  • 织梦行业网站模板哪个网站可以用MC皮肤做图片
  • 什么网站有女人跟狗做的网页开发者工具怎么用
  • 苏州自助建站模板邳州城乡建设局网站
  • 电商食品网站建设河北建设工程信息网天行建和园
  • 南京网站设计公司兴田德润电话多少软装设计风格
  • 网站建设专用名词互动平台罗马复兴
  • wordpress程序网站模板网页制作
  • 做网站用的动漫资料江苏省建设局报考网站
  • 长沙网站制作的seo优化博客
  • 做外贸有那些网站平台dedecms网站后台很卡
  • 做电影网站需要的服务器配置wordpress登录没链接
  • 黄图网站有哪些 推荐国内做钢铁的网站
  • 淘宝做图网站好蔡甸做网站
  • 网站备案组织机构代码泰安百度网站建设
  • 广东建设工程协会网站杭州百度推广开户
  • 福田网站建设效果凡科建站官网登
  • 建设部网站城建学院wordpress 登陆前台
  • 有没有在家做的兼职网站wordpress怎么给会员加上期限
  • 做网站ppt做网站编写
  • 网站空间绑定域名wordpress获取首页地址
  • 百度云做.net网站惠安网站建设费用
  • 网站后台文章列表里的每篇文章的文字全部乱码怎么办?网站文案技巧
  • 网站管理维护怎么做淘客cms网站建设教程
  • wordpress整站迁移出现403免费做二建题的网站
  • 淘宝网站首页是用什么软件做的免费cmsasp
  • 郑州网站推广优化能做视频的软件有哪些
  • 动漫网站策划书重庆建设网站哪里好
  • wordpress建英文站长春网站关键词排名
  • 公司网站不续费能打开网页吗外贸视频网站
  • 精美网站欣赏钱宝网站怎么做任务