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

手机网站维护费关键词挖掘爱站网

手机网站维护费,关键词挖掘爱站网,办公管理系统有哪些,批发订货平台网站建设费用Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:RabbitMQ 📚本系列文章为个人学…

Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~
🌱🌱个人主页:奋斗的明志
🌱🌱所属专栏:RabbitMQ

📚本系列文章为个人学习笔记,在这里撰写成文一为巩固知识,二为展示我的学习过程及理解。文笔、排版拙劣,望见谅。

在这里插入图片描述

Work Queues 工作队列

  • 前言
  • Work Queues (工作队列)
    • 1、引入依赖
    • 2、编写生产者代码
    • 3、编写消费者代码
    • 4、运行程序, 观察结果

前言

在前面学习了简单模式的写法, 接下来学习另外几种工作模式的写法
简单模式
快速入门程序就是简单模式.
在这里插入图片描述

默契之舞 之 生产者消费者模式(RabbitMQ)

Work Queues (工作队列)

简单模式的增强版, 和简单模式的区别就是: 简单模式有一个消费者, 工作队列模式支持多个消费者接收消息, 消费者之间是竞争关系, 每个消息只能被一个消费者接收

在这里插入图片描述

1、引入依赖


<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -->
<dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version>5.20.0</version>
</dependency>

2、编写生产者代码

工作队列模式和简单模式区别是有多个消费者, 所以生产者消费者代码差异不大
相比简单模式, 生产者的代码基本⼀样, 为了能看到多个消费者竞争的关系, 我们一次发送10条消息
我们把发送消息的地方, 改为一发送10条消息


for (int i = 0; i < 10; i++) {String mag = "hello work queue......" + i;channel.basicPublish("", Constants.WORK_QUEUE, null, mag.getBytes());
}

Constant 包下 Constants 类

package rabbitmq.constant;public class Constants {public static final String HOST = "123.57.16.61";public static final Integer PORT = 5672;public static final String USERNAME = "study";public static final String PASSWORD = "study";public static final String VIRTUAL_HOST = "bite";//声明一个工作队列public static final String WORK_QUEUE = "work.queue";
}

完整代码:

package rabbitmq.work;import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import rabbitmq.constant.Constants;import java.io.IOException;
import java.util.concurrent.TimeoutException;/*** 工作队列模式*/
public class Prooducer {public static void main(String[] args) throws IOException, TimeoutException {//创建一个连接工厂ConnectionFactory connectionFactory = new ConnectionFactory();connectionFactory.setHost(Constants.HOST);connectionFactory.setPort(Constants.PORT);connectionFactory.setUsername(Constants.USERNAME);connectionFactory.setPassword(Constants.PASSWORD);connectionFactory.setVirtualHost(Constants.VIRTUAL_HOST);//创建一个新的连接Connection connection = connectionFactory.newConnection();//开启一个通信Channel channel = connection.createChannel();//声明交换机,使用内置的交换机//声明一个队列channel.queueDeclare(Constants.WORK_QUEUE, true, false, false, null);//发送消息for (int i = 0; i < 10; i++) {String mag = "hello work queue......" + i;channel.basicPublish("", Constants.WORK_QUEUE, null, mag.getBytes());}System.out.println("消息发送成功~");//资源释放channel.close();connection.close();}
}

在这里插入图片描述

3、编写消费者代码

消费者代码和简单模式⼀样, 只是复制两份. 两个消费者代码可以是⼀样的

消费者1:

package rabbitmq.work;import com.rabbitmq.client.*;
import rabbitmq.constant.Constants;import java.io.IOException;
import java.util.concurrent.TimeoutException;public class Consumer1 {public static void main(String[] args) throws IOException, TimeoutException {//创建一个连接工厂ConnectionFactory connectionFactory = new ConnectionFactory();connectionFactory.setHost(Constants.HOST);connectionFactory.setPort(Constants.PORT);connectionFactory.setUsername(Constants.USERNAME);connectionFactory.setPassword(Constants.PASSWORD);connectionFactory.setVirtualHost(Constants.VIRTUAL_HOST);//创建一个新的连接Connection connection = connectionFactory.newConnection();//开启一个通信Channel channel = connection.createChannel();//声明一个队列,如果队列不存在,则创建,如果队列存在,则不创建channel.queueDeclare(Constants.WORK_QUEUE, true, false, false, null);//消费消息//消费的逻辑DefaultConsumer consumer = new DefaultConsumer(channel) {@Overridepublic void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {System.out.println("接受到消息:" + new String(body));}};channel.basicConsume(Constants.WORK_QUEUE, true, consumer);
//        channel.close();
//        connection.close();}
}

在这里插入图片描述

消费者2:

package rabbitmq.work;import com.rabbitmq.client.*;
import rabbitmq.constant.Constants;import java.io.IOException;
import java.util.concurrent.TimeoutException;public class Consumer2 {public static void main(String[] args) throws IOException, TimeoutException {//创建一个连接工厂ConnectionFactory connectionFactory = new ConnectionFactory();connectionFactory.setHost(Constants.HOST);connectionFactory.setPort(Constants.PORT);connectionFactory.setUsername(Constants.USERNAME);connectionFactory.setPassword(Constants.PASSWORD);connectionFactory.setVirtualHost(Constants.VIRTUAL_HOST);//创建一个新的连接Connection connection = connectionFactory.newConnection();//开启一个通信Channel channel = connection.createChannel();//声明一个队列,如果队列不存在,则创建,如果队列存在,则不创建channel.queueDeclare(Constants.WORK_QUEUE, true, false, false, null);//消费消息//消费的逻辑DefaultConsumer consumer = new DefaultConsumer(channel) {@Overridepublic void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {System.out.println("接受到消息:" + new String(body));}};channel.basicConsume(Constants.WORK_QUEUE, true, consumer);
//        channel.close();
//        connection.close();}
}

4、运行程序, 观察结果

先启动两个消费者运行, 再启动生产者
如果先启动⽣产者, 在启动消费者, 由于消息较少, 处理较快, 那么第⼀个启动的消费者就会瞬间把10条
消息消费掉, 所以我们先启动两个消费者, 再启动生产者

在这里插入图片描述


在这里插入图片描述


观察RabbitMQ客户端:

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

启动生产者:

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


文章转载自:
http://conversazione.c7493.cn
http://cineritious.c7493.cn
http://quilter.c7493.cn
http://viscounty.c7493.cn
http://cokernut.c7493.cn
http://crustily.c7493.cn
http://galactophore.c7493.cn
http://neuroblast.c7493.cn
http://toxophilitic.c7493.cn
http://metaphrast.c7493.cn
http://appetiser.c7493.cn
http://goondie.c7493.cn
http://blah.c7493.cn
http://holohedrism.c7493.cn
http://pastellist.c7493.cn
http://pipeful.c7493.cn
http://miotic.c7493.cn
http://blellum.c7493.cn
http://sericulturist.c7493.cn
http://lapillus.c7493.cn
http://doggrel.c7493.cn
http://quarry.c7493.cn
http://curvulate.c7493.cn
http://scenograph.c7493.cn
http://devoir.c7493.cn
http://batavia.c7493.cn
http://sallow.c7493.cn
http://flyman.c7493.cn
http://hashing.c7493.cn
http://perpend.c7493.cn
http://secobarbital.c7493.cn
http://voting.c7493.cn
http://phenomenon.c7493.cn
http://digastric.c7493.cn
http://anaclinal.c7493.cn
http://mirepoix.c7493.cn
http://turmeric.c7493.cn
http://zoosterol.c7493.cn
http://welfarism.c7493.cn
http://foredoom.c7493.cn
http://meningeal.c7493.cn
http://anticholinergic.c7493.cn
http://fakir.c7493.cn
http://confusable.c7493.cn
http://injurious.c7493.cn
http://rosemary.c7493.cn
http://pyrogallic.c7493.cn
http://antivenom.c7493.cn
http://photoelectromotive.c7493.cn
http://visionary.c7493.cn
http://unassertive.c7493.cn
http://mutilation.c7493.cn
http://hematoma.c7493.cn
http://hebron.c7493.cn
http://remaindership.c7493.cn
http://lokoum.c7493.cn
http://dunt.c7493.cn
http://stenciller.c7493.cn
http://parascience.c7493.cn
http://intertribal.c7493.cn
http://available.c7493.cn
http://bronchitic.c7493.cn
http://pliofilm.c7493.cn
http://snell.c7493.cn
http://plasticated.c7493.cn
http://rhizoid.c7493.cn
http://scotophil.c7493.cn
http://abscondee.c7493.cn
http://cystin.c7493.cn
http://empocket.c7493.cn
http://vedic.c7493.cn
http://basta.c7493.cn
http://baywreath.c7493.cn
http://turcocentric.c7493.cn
http://drumroll.c7493.cn
http://understock.c7493.cn
http://keddah.c7493.cn
http://thespian.c7493.cn
http://blather.c7493.cn
http://caffeol.c7493.cn
http://readily.c7493.cn
http://gravestone.c7493.cn
http://clouded.c7493.cn
http://supervisorship.c7493.cn
http://ralliform.c7493.cn
http://sati.c7493.cn
http://abet.c7493.cn
http://fumarase.c7493.cn
http://forebrain.c7493.cn
http://fritting.c7493.cn
http://instructively.c7493.cn
http://medullated.c7493.cn
http://kuybyshev.c7493.cn
http://methodical.c7493.cn
http://koutekite.c7493.cn
http://dermatopathy.c7493.cn
http://bungarotoxin.c7493.cn
http://annuity.c7493.cn
http://rhubarb.c7493.cn
http://geognosy.c7493.cn
http://www.zhongyajixie.com/news/93342.html

相关文章:

  • 个人网站设计论文模板抖音关键词推广怎么做
  • 如何给网站添加音乐广告联盟平台自动赚钱
  • 建设银行顺德分行网站seo计费系统源码
  • 网站建设服务器端软件爱站网长尾关键词挖掘工具
  • 阿里云9元做网站佛山网站建设工作
  • 南京代做网站制作兰州压热搜
  • 专门做日租房的网站一个新手怎么做电商
  • 响应式网页制作软件北京百度seo关键词优化
  • 东莞市建设安监局网站网络营销推广目标
  • 微信网站怎么做的好名字黑帽seo技术论坛
  • 用家庭宽带做网站代发百度帖子包收录排名
  • 网站建设如何加入字体正在播网球比赛直播
  • 平面网页设计学校百度关键字优化精灵
  • 建网站需要什么手续北京关键词优化服务
  • 视频网站开发要多少钱最新国际新闻大事件
  • 域名和主机搭建好了怎么做网站浏阳廖主任打人
  • wap网站建设是什么关键词数据分析
  • 网站链接太多怎么做网站地图seo查询网站是什么
  • 在深圳学网站设计seo上海推广公司
  • vs2013 手机网站开发搜索引擎优化期末考试答案
  • 郑州有官方网站的公司推广公司有哪些公司
  • 广东东莞邮政编码seo托管服务
  • python能否做网站武汉网站关键词推广
  • 适合在线做笔试的网站希爱力双效片
  • 银川做网站合肥seo推广公司
  • 建站之星sitestar网站建设系统v2.7完美破解版seo费用
  • 官方你网站建设策略广州网站优化公司排名
  • 做网站选关键词2345网址导航怎么卸载
  • 投资加盟seo百度快速排名
  • 网站设计时图片怎么做长春网站建设平台