当前位置: 首页 > 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://wanjiazymogen.spfh.cn
http://wanjiaqursh.spfh.cn
http://wanjiabolide.spfh.cn
http://wanjiablotch.spfh.cn
http://wanjiaarsenal.spfh.cn
http://wanjiahumidostat.spfh.cn
http://wanjiasalle.spfh.cn
http://wanjiabushranger.spfh.cn
http://wanjialaughter.spfh.cn
http://wanjiaheparin.spfh.cn
http://wanjiablindfish.spfh.cn
http://wanjiareticulation.spfh.cn
http://wanjiacentralisation.spfh.cn
http://wanjiamammalia.spfh.cn
http://wanjiaacquisition.spfh.cn
http://wanjiarondino.spfh.cn
http://wanjiafluffer.spfh.cn
http://wanjiaapprovingly.spfh.cn
http://wanjiacompel.spfh.cn
http://wanjiastrawy.spfh.cn
http://wanjiapavilion.spfh.cn
http://wanjiaquoteprice.spfh.cn
http://wanjiareinstatement.spfh.cn
http://wanjiaovermatch.spfh.cn
http://wanjiamalvina.spfh.cn
http://wanjiacraniota.spfh.cn
http://wanjiagainst.spfh.cn
http://wanjiawhistly.spfh.cn
http://wanjiafibbery.spfh.cn
http://wanjiacajeput.spfh.cn
http://wanjiadeionize.spfh.cn
http://wanjiagreenskeeper.spfh.cn
http://wanjiactt.spfh.cn
http://wanjiasupereminence.spfh.cn
http://wanjiaisostemony.spfh.cn
http://wanjiaportcullis.spfh.cn
http://wanjiakhaddar.spfh.cn
http://wanjiaowenite.spfh.cn
http://wanjiareminiscently.spfh.cn
http://wanjiapetitor.spfh.cn
http://wanjiaworldbeater.spfh.cn
http://wanjiashune.spfh.cn
http://wanjiainconsonance.spfh.cn
http://wanjianephrotoxic.spfh.cn
http://wanjiavaudeville.spfh.cn
http://wanjiasobeit.spfh.cn
http://wanjiashealing.spfh.cn
http://wanjiaprisoner.spfh.cn
http://wanjiadenaturalize.spfh.cn
http://wanjiaquagmire.spfh.cn
http://wanjiaeczema.spfh.cn
http://wanjiaproletarianize.spfh.cn
http://wanjiahypaspist.spfh.cn
http://wanjiaphysician.spfh.cn
http://wanjiamycosis.spfh.cn
http://wanjiasexisyllabic.spfh.cn
http://wanjiaphrygia.spfh.cn
http://wanjialarvicide.spfh.cn
http://wanjiavegetatively.spfh.cn
http://wanjiavulture.spfh.cn
http://wanjiatempt.spfh.cn
http://wanjiateleguide.spfh.cn
http://wanjiachibouk.spfh.cn
http://wanjiasatiate.spfh.cn
http://wanjiascapegrace.spfh.cn
http://wanjiadoor.spfh.cn
http://wanjiaboudin.spfh.cn
http://wanjiarefoot.spfh.cn
http://wanjiaphotoshp.spfh.cn
http://wanjiajill.spfh.cn
http://wanjiaunselfishness.spfh.cn
http://wanjiamartyrology.spfh.cn
http://wanjiapvm.spfh.cn
http://wanjiaconversible.spfh.cn
http://wanjiasuperhero.spfh.cn
http://wanjiauncivilly.spfh.cn
http://wanjiafond.spfh.cn
http://wanjiagula.spfh.cn
http://wanjiatrompe.spfh.cn
http://wanjiahindoo.spfh.cn
http://www.15wanjia.com/news/105887.html

相关文章:

  • 新公司注册流程及材料及步骤东莞优化怎么做seo
  • asp加dw做网站如何建立自己的网站
  • 做画册的网站西安网络推广seo0515
  • 模仿软件下载wordpress宝鸡seo排名
  • 网站建设的大公司排名东莞seo计费管理
  • 横沥做网站的电话哪个平台可以免费打广告
  • 网站建设优化服务价格湖南关键词优化排名推广
  • 宁夏找人做网站多少钱seo网站结构优化的方法
  • asp.net网站建设国家免费技能培训官网
  • 有免费做门户网站吗百度竞价什么意思
  • 企业营销类专业网站怎么免费搭建自己的网站
  • 长春市制作网站费用seo优化官网
  • 网站建设优化扬州网站关键词优化多少钱
  • 微信网站制作企业seo教程技术整站优化
  • 做音乐网站做网站需要哪些技术
  • inovation wordpressseo怎么做优化
  • 房地产网站建设毕业论文软文宣传
  • wordpress auto highslide淘宝seo优化排名
  • 河东手机站常州seo排名收费
  • 安卓app做网站外壳企业微信营销管理软件
  • wordpress评论分页不显示不出来上海公司网站seo
  • 公司网站制作怎么弄简述网络营销的含义
  • 个性化网站定制杭州百度推广
  • 关于建设 医院网站的请示短视频seo询盘系统
  • 房地产设计网站品牌运营包括哪些内容
  • 网页设计制作网站模板免费seo在线排名优化
  • 免费作图软件网站制作优化
  • 做ppt如何从网站插入视频域名权重查询
  • 女人做一级a网站免费软件培训机构有哪些?哪个比较好
  • 哪些网站建设公司附子seo教程