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

聊城网站建设公司电话网络推广怎么入门

聊城网站建设公司电话,网络推广怎么入门,可以上传网站的免费空间,wordpress怎么设置404简介 redisMQ-spring-boot-starter是一个轻量级的、基于Redis实现的消息队列中间件#xff0c;它有如下优点#xff1a; 开箱即用#xff0c;你几乎不用添加额外的配置支持消息队列、延时队列#xff0c;并提供精细化配置参数提供消息确认机制支持虚拟空间#xff0c;不…简介 redisMQ-spring-boot-starter是一个轻量级的、基于Redis实现的消息队列中间件它有如下优点 开箱即用你几乎不用添加额外的配置支持消息队列、延时队列并提供精细化配置参数提供消息确认机制支持虚拟空间不同虚拟空间的数据互相隔离支持web控制台实时查看各个队列的消费情况 开始使用 引用依赖 springboot3.0以下版本: dependencygroupIdio.github.lengmianshi/groupIdartifactIdredisMQ-spring-boot-starter/artifactIdversion1.0.4/version /dependency!-- 以下配置可以改为你自己的版本 -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactIdversion2.1.0.RELEASE/version /dependency dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion2.9.2/version /dependency dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.83/version /dependency注spring-boot-starter-data-redis依赖于spring-data-redis如果发生依赖冲突要确保spring-data-redis的版本不低于2.1.0.RELEASE可在你的pom.xml中锁定版本 dependencyManagementdependenciesdependencygroupIdorg.springframework.data/groupIdartifactIdspring-data-redis/artifactIdversion2.1.2.RELEASE/version/dependency/dependencies /dependencyManagementspringboot3.0 dependencygroupIdio.github.lengmianshi/groupIdartifactIdredisMQ-spring-boot-starter/artifactIdversion2.0.4/version /dependency!-- 以下配置可以改为你自己的版本 -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactIdversion3.2.1/version /dependency dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion5.1.0/version /dependency dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.83/version /dependency配置redis 一般引入redis的项目都会事先配置如果你的项目没配置过则可在application.yml中加上如下配置 springboot3.0以下版本 spring:redis:host: test.redis.com #改成你的password: vC403V2KMc0Kghz #改成你的port: 6379 #改成你的jedis:pool:max-active: 100max-idle: 10min-idle: 10timeout: 2000springboot3.0 spring:data:redis:host: test.redis.com #改成你的password: vC403V2KMc0Kghz #改成你的port: 6379 #改成你的jedis:pool:max-active: 100max-idle: 10min-idle: 10timeout: 2000消息队列 生产者发送消息 Autowired private RedisQueueTemplate redisQueueTemplate;/*** 1次只发送一条消息*/ Test public void test1() {JSONObject message new JSONObject();message.put(bondId, 17f62f1dfb5afb12e8d67cd651c1df53);message.put(year, 2022);redisQueueTemplate.sendMessage(test_queue, message); }/*** 批量发送消息*/ Test public void test2() {List messageList new ArrayList();for (int i 0; i 5000; i) {JSONObject mess new JSONObject();mess.put(index, i);messageList.add(mess);}redisQueueTemplate.sendMessageAll(test_queue, messageList); }注示例中每条MQ消息都用JSONObject包装这只是我的个人习惯你也可以使用实体类 消费者消费消息 消费方法的参数只能有1个并且类型要与生产者发送消费的类型保存一致 Component public class QueueConsumer {//使用默认参数RedisQueueListener(queue test_queue)public void test(JSONObject message){System.out.println(message);}//指定单个实例下使用5个消费线程RedisQueueListener(queue test_queue2, consumers 5)public void test2(JSONObject message){System.out.println(message);}//单个实例5个线程手动确认RedisQueueListener(queue test_queue3, consumers 5, autoAck false)public void test3(JSONObject message){System.out.println(message);}}RedisQueueListener注解支持的所有参数 package com.leng.project.redisqueue.annotation;import java.lang.annotation.*;Target({ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Documented public interface RedisQueueListener {/*** 队列名** return*/String queue() default ;/*** 消费者线程数** return*/int consumers() default 1;/*** 是否自动确认** return*/boolean autoAck() default true;/*** 一次从队列中取多少数据** return*/int prefetch() default 50;/*** 获取消息的频率单位秒* return*/long frequency() default 2; }其中 consumers单个实例下启动多少个消费线程默认为1autoAck是否自动确认消息默认为true。自动确认与手动确认的区别 自动确认消费线程从队列中取出消息如果消费失败则该条消息丟失手动确认消费线程从队列中取出消息并将消息写入待确认队列中如果消费失败则一段时间后15分钟会重新入队消费端要做幂等性处理 prefetch一个消费线程一次性从队列中取出多少条消息因为涉及锁的竞争不宜过小默认为50frequency单个消费线程每隔多少秒获取一次消息默认为2最小值为1。有人可能会奇怪消息不是应该即时消费吗不是越快越好吗实际上有些业务场景对消息的实时性要求很低几天、几个月、甚至一年才执行一次这时我们完全可以把frequency调大以减轻redis的压力 延时队列 延时队列的常用场景如用户下单xx分钟后没有支付则自动关闭订单已支持的订单xxx天后自动确认收货等。 生产者发送消息 Autowired private RedisQueueTemplate redisQueueTemplate;/*** 1次只发送1条消息*/ public void test1(){JSONObject message new JSONObject();message.put(bondId, 17f62f1dfb5afb12e8d67cd651c1df53);message.put(year, 2022);//延时5秒redisQueueTemplate.sendDelayMessage(test_delay_queue, message, 5, TimeUnit.SECONDS); }/*** 批量发送每条消息的延时时长一样*/ public void test2(){List messageList new ArrayList();for (int i 0; i 5000; i) {JSONObject mess new JSONObject();mess.put(index, i);messageList.add(mess);}//延时5秒redisQueueTemplate.sendDelayMessageAll(queue, messageList, 5, TimeUnit.SECONDS); }/*** 批量发送每条消息的延时时长各不相同*/ public void test3(){List messageListnew ArrayList();for(int i0; i 5000; i){JSONObject messnew JSONObject();mess.put(index,i);//每条消息可以使用不同的延时时长这里为了简便统一写成5了DelayMessageParam paramnew DelayMessageParam(mess,5,TimeUnit.SECONDS);messageList.add(param);}redisQueueTemplate.sendDelayMessageAll(queue,messageList); }注示例中每条MQ消息都用JSONObject包装这只是我的个人习惯你也可以使用实体类 消费者消费消息 RedisDelayQueueListener注解的参数与RedisQueueListener完全相同消费方法的参数只能有1个并且类型要与生产者发送消费的类型保存一致 Component public class DelayQueueConsumer {/*** 使用默认参数* param message*/RedisDelayQueueListener(queue test_delay_queue)public void test(JSONObject message){System.out.println(message);}/*** 单个实例5个消费线程* param message*/RedisDelayQueueListener(queue test_delay_queue2, consumers 5)public void test2(JSONObject message){System.out.println(message);}/*** 单个实例5个消费线程手动确认* param message*/RedisDelayQueueListener(queue test_delay_queue3, consumers 5, autoAck false)public void test3(JSONObject message){System.out.println(message);}}虚拟空间 参考了RabbitMQ的设计。虚拟空间很有必要例如开发环境和测试环境的数据如果没有隔离在调试时被测试环境的消费端干扰。 配置虚拟空间 queue:virtual-host: /dev #默认为 /Web管理平台 浏览器访问http://ip:port/queue.html默认的账号密码为admin/admin 配置账号 queue:console:#是否启用web控制台enable: trueusername: admin #登录用户名password: 123456 #密码登录成功后的界面可查看所有虚拟空间的队列及消费情况 注如果你的系统使用了权限控制框架如shiro、spring-security等则需要对如下3个资源放行 /queue.html/queue/**/static/** ps 项目地址https://github.com/lengmianshi/redisMQ-spring-boot-starter欢迎提bug
http://www.pierceye.com/news/878060/

相关文章:

  • 购买网站域名怎么做会计分录广告机免费投放
  • 网上做网站赚钱深圳市无限空间工业设计有限公司
  • 商贸网站建设怎么查看wordpress版本
  • 电子商务网站建设哪本教材比较适合中等专业学校用网站建设yankt
  • 局域网网站建设需要什么条件企业建网站的目的
  • 高校专业建设网站桂林漓江竹筏
  • 自已做个网站怎么做网站网络的可用性
  • 深圳网站设计建设永州做网站
  • 怎么制作网站应用wordpress 淘宝客赚钱
  • 网站在政务新媒体建设方案打开手机网站速度慢
  • 网站备案表服务类网站模板
  • 个人网站维护费用淮安注册公司
  • 网站提交做海鱼的网站
  • 建设网站业务竞争大唯一做魅惑的网站
  • 建设学校网站的意义更换wordpress图标
  • 环保局网站如何做备案证明在线代理服务器网页版
  • 十佳网站武昌做网站哪家好
  • wordpress调用同分类最新文章seo营销网站的设计标准
  • 免费下载网站有哪些连云港网络公司排名
  • 如何迅速建企业网站毕设做网站需要什么技术准备
  • 可以做音基题的音乐网站公司网页设计怎么弄
  • 益阳营销型网站建设乌鲁木做兼职的网站
  • 如何建单位网站怎么让别人找你做网站
  • 青海建设厅职称网站建设小程序怎么挂失
  • 建设在线购物网站51zwd一起做网站广州
  • 如何制作网站图片帮忙做网站
  • 高端做网站公司网络信息安全公司
  • 手机网站图片自适应建设网站用的软件
  • wordpress postid随机苏州百度推广排名优化
  • 重庆企业网站推广服务做性的网站