网站推广费用价格windows8 网站建站命令

bicheng/2026/1/23 7:22:03/文章来源:
网站推广费用价格,windows8 网站建站命令,可以做mv的视频网站,做分类信息网站赚钱吗项目场景#xff1a; 在电商、支付等领域#xff0c;往往会有这样的场景#xff0c;用户下单后放弃支付了#xff0c;那这笔订单会在指定的时间段后进行关闭操作#xff0c;细心的你一定发现了像某宝、某东都有这样的逻辑#xff0c;而且时间很准确#xff0c;误差在1s内…项目场景 在电商、支付等领域往往会有这样的场景用户下单后放弃支付了那这笔订单会在指定的时间段后进行关闭操作细心的你一定发现了像某宝、某东都有这样的逻辑而且时间很准确误差在1s内那他们是怎么实现的呢 一般实现的方法有几种使用 redisson、rocketmq、rabbitmq等消息队列的延时投递功能。 解决方案 一般项目集成redis的比较多所以我这篇文章就说下redisson延迟队列如果使用rocketmq或rabbitmq需要额外集成中间件比较麻烦一点。 1.集成redisson maven依赖 dependencygroupIdorg.redisson/groupIdartifactIdredisson-spring-boot-starter/artifactIdversion3.21.1/version /dependency yml配置单节点配置可以兼容redis的配置方式 # redis配置 spring:redis:database: 0host: 127.0.0.1password: redispassport: 6001 更详细的配置参考Spring Boot整合Redisson的两种方式-CSDN博客 2.配置多线程 因为延迟队列可能会多个任务同时执行所以需要多线程处理。 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import java.util.concurrent.ThreadPoolExecutor;Configuration EnableAsync public class ExecutorConfig {/*** 异步任务自定义线程池*/Bean(name taskExecutor)public ThreadPoolTaskExecutor asyncServiceExecutor() {ThreadPoolTaskExecutor executor new ThreadPoolTaskExecutor();//配置核心线程数executor.setCorePoolSize(50);//配置最大线程数executor.setMaxPoolSize(500);//配置队列大小executor.setQueueCapacity(300);//允许线程空闲时间executor.setKeepAliveSeconds(60);//配置线程池中的线程的名称前缀executor.setThreadNamePrefix(taskExecutor-);// rejection-policy当pool已经达到max size的时候如何处理新任务// CALLER_RUNS不在新线程中执行任务而是有调用者所在的线程来执行executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());//调用shutdown()方法时等待所有的任务完成后再关闭executor.setWaitForTasksToCompleteOnShutdown(true);//等待所有任务完成后的最大等待时间executor.setAwaitTerminationSeconds(60);return executor;} } 3.具体业务 比如消息通知、关闭订单等 这里加上了Async注解可以异步执行 import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service;import java.text.SimpleDateFormat; import java.util.Date;Service public class AsyncService {Asyncpublic void executeQueue(Object value) {System.out.println();System.out.println(当前线程Thread.currentThread().getName());System.out.println(执行任务value);//打印时间方便查看SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);System.out.println(执行任务的时间sdf.format(new Date()));//自己的业务逻辑可以根据id发送通知消息等//......} } 4.延迟队列(关键代码) 这里包括添加延迟队列和消费延迟队列PostConstruct注解的意思是服务启动加载一次参考 Spring Boot项目启动时执行指定的方法-CSDN博客Spring Boot中多个PostConstruct注解执行顺序控制_多个postconstruct执行顺序-CSDN博客 import org.redisson.api.RBlockingQueue; import org.redisson.api.RDelayedQueue; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service;import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Date; import java.util.concurrent.TimeUnit;Service public class TestService {Resourceprivate AsyncService asyncService;Resourceprivate ThreadPoolTaskExecutor executor;Autowiredprivate RedissonClient redissonClient;/*** 添加延迟任务*/public void addQueue() {//获取延迟队列RBlockingQueueObject blockingQueue redissonClient.getBlockingQueue(delayedQueue);RDelayedQueueObject delayedQueue redissonClient.getDelayedQueue(blockingQueue);for (int i 1; i 10; i) {long delayTime 5i; //延迟时间(秒) // long delayTime 5; //这里时间统一可以测试并发执行delayedQueue.offer(延迟任务i, delayTime, TimeUnit.SECONDS);}//打印时间方便查看SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);System.out.println(添加任务的时间sdf.format(new Date()));}/*** 服务启动时加载开始消费延迟队列*/PostConstructpublic void consumer() {System.out.println(服务启动时加载);//获取延迟队列RBlockingQueueObject delayedQueue redissonClient.getBlockingQueue(delayedQueue);//启用一个线程来消费这个延迟队列executor.execute(() -{while (true){try { // System.out.println(while中的线程Thread.currentThread().getName());//获取延迟队列中的任务Object value delayedQueue.poll();if(value null){//如果没有任务就休眠1秒休眠时间根据业务自己定义Thread.sleep(1000); //这里休眠时间越短误差就越小continue;}//异步处理延迟队列中的消息asyncService.executeQueue(value);} catch (Exception e) {e.printStackTrace();}}});} } 5.测试接口  import com.test.service.TestService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController RequestMapping(/test) public class TestController {Autowiredprivate TestService testService;/** 添加延迟任务*/GetMapping(value /addQueue)public String addQueue() {testService.addQueue();return success;}} 6.测试结果 总结 Redisson的的RDelayedQueue是基于Redis实现的而Redis本身并不保证数据的持久性。如果Redis服务器宕机那么所有在RDelayedQueue中的数据都会丢失。因此我们需要在应用层面进行持久化设计例如定期将RDelayedQueue中的数据持久化到数据库。在设计延迟任务时我们应该根据实际需求来合理设置延迟时间避免设置过长的延迟时间导致内存占用过高。 源码https://download.csdn.net/download/u011974797/89225515

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

徐州网站制作方案安卓软件开发自学教程

【简 介】  基于Web的动态网页设计必会涉及到页面间的数据传递,文章探讨了ASP设计中常用的Web页面间的数据传递方式,分析各种数据传递方式的使用方法、使用场合及优缺点,其都是设计阶段选择数据传递方式考虑的关键 往往使用动态网页技术制作…

浦东新区网站建设推广建设网站建站公司

根据美国商标和专利局(USPTO)公示的清单,苹果获得了一项健康相关的技术专利,可以利用 iPhone、Apple Watch 来分析佩戴者的呼吸系统。 苹果在专利中概述了一种测量用户呼吸功能的系统,通过 iPhone 上的光学感测单元&am…

钟表珠宝商城网站建设网站推广优化方法

作者:Kief Morris 译者:冬哥 原文:https://infrastructure-as-code.com/book/2021/01/02/pull-requests.html 前 言 Github 引入了Pull Request拉取请求(简称PR)实践和相关的支持功能,使运行开源项目的人…

上市公司网站建设要求自己什么建设网站

idea如果和jdk版本不对应,就会出现无法运行的情况,如下: 翻译:无法确定17的“tools.jar”库的路径(C:\Program Files\Java\jdk-17) 原因:idea版本是2020.2,而jdk版本是17&#xff0…

河南企业网站建设建公司网站建设明细报价表

一、 JVM部分 JVM内存溢出(一)之排查初体验_少负 | 气节的博客-CSDN博客 JVM内存溢出(二)之双亲委派机制_少负 | 气节的博客-CSDN博客 JVM内存溢出(三)之JVM8内存模型_少负 | 气节的博客-CSDN博客 JVM内存溢出(四)之垃圾回收器_少负 | 气节的博客-CSDN博客 JVM内存溢出(五…

网站做受网站浦东网站开发培训班

二. 构造/析构/赋值运算 5. 了解C默默编写并调用哪些函数 唯有当这些函数被调用,他们才会被编译器创建出来。 请记住: ‌‌‌‌  编译器可以暗自为class创建default构造函数、copy构造函数、copy assignment操作符,以及析构函数。 6. 若…

专业单位网站建设wordpress wp_rewrite

在当今数字化转型的时代,企业面临着日益复杂和快速变化的商业环境。知识管理成为了企业成功的关键之一。有效地管理和利用知识资源可以提升企业的创新能力、决策质量和竞争力。以下我列了一些关键的点,讲讲在数字化转型背景下,企业如何可以做…

微信小程序怎么做网站网页设计模板素材图书馆

Jackson介绍 Jackson是Java最受欢迎的JSON类库之一,包含两个不同的解析器: Jackson ObjectMapper,将JSON转化为Java对象,或者转换为Jackson特定的树结构Jackson JsonParser,JSON流解析器,每次只解析一个J…

建设网站需要几部分搭建一个自己的网站

🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏《Spring 狂野之旅:从入门到入魔》 &a…

公司网站建设需求说明书关于做网站常见的问题

//给定二叉树的根节点 root ,返回所有左叶子之和。 // // // // 示例 1: // // // // //输入: root [3,9,20,null,null,15,7] //输出: 24 //解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 //…

公司弄个网站多少钱微信微网站制作公司

“几何画板是一种常用的数学软件,具有强大的绘图功能,也为我们探究椭圆的不同绘制方法提供了平台.在探究过程中,我们遇到了一些麻烦和困难,但也获得了很多意想不到的惊喜和收获!我们将椭圆的绘制方法分为七类&#xff…

网站打开速度慢wordpress网站开发的形式有( )

IEEE Micro 2023 Paper CXL论文阅读笔记整理 问题 计算快速链路(CXL)协议是系统社区的一个重要里程碑。CXL提供了标准化的缓存一致性内存协议,可用于将设备和内存连接到系统,同时保持与主机处理器的内存一致性。CXL使加速器&…

网站建设推广行业太原网络营销策划

1. Coverage - 衡量测试的覆盖率 我们已经掌握了如何进行单元测试。接下来,一个很自然的问题浮现出来,我们如何知道单元测试的质量呢?这就提出了测试覆盖率的概念。覆盖率测量通常用于衡量测试的有效性。它可以显示您的代码的哪些部分已被测试过,哪些没有。 coverage.py …

网站建设中技术程序南京工商注册核名查询系统

文章目录 1. 什么是SFTP2. 什么是Jsch以及它的作用3. Linux中配置SSH密钥登录4. sftp服务器认证机制5. publickey和password两种方式登录sftp的API调用6. 代码可以如下改造: 需求:做一个通过ssh免密登录的需求,是基于原先密码登录sftp服务器的…

如何在中国建设银行网站转账自己做网站的优势

2012年4月20日,证监会正式对外公布了《证券期货业信息安全保障管理办法(征求意见稿)》,并公开征求意见。正式公布后将取代原来在2005年发布的暂行办法。 证券期货业信息安全保障管理办法(征求意见稿)第一章…

锦州哪家做网站滨城网站开发

《汇编语言》- 读书笔记 - 第13章-int 指令 13.1 int 指令13.2 编写供应用程序调用的中断例程中断例程:求一 word 型数据的平方主程序中断处理程序执行效果 中断例程:将一个全是字母,以0结尾的字符串,转化为大写主程序中断处理程序…

东三省网站建设公司查询注册过哪些网站

《省级国土空间规划编制技术规程》国家标准(GB/T 43214-2023,以下简称《规程》),将于2024年1月1日起实施,该《规程》由市场监管总局(国家标准委)9月7日批准发布。 《规程》由自然资源部组织编制…

网站 建设 拖拉 源码 系统程序员不是做网站的

枚举:一组相关的值定义了一个共同的类型,使你可以在代码中以类型安全的方式来使用这些值。 1.枚举语法 //枚举成员不会被赋予默认的整型值。成员本身就是完备的值,类型为CompassPoint。 enum CompassPoint {case northcase southcase eastcas…

可口可乐网站建设海口网站建设做网站

文章目录 1.概述2.Android源下载1.配置环境变量2.安装curl3.下载repo并授权4.创建一个文件夹保存源码5.设置repo的地址并配置为清华源6.初始化仓库7.指定我们需要下载的源码分支并初始化 2.1 使用移动硬盘存放Android源码的坑2.2 解决方法 3.Android源码编译4.Android源烧录 1.…

许昌网站制作公司网站建设要买哪些软件

"香港服务器"和"香港云服务器",是两种不同的香港区域的服务器,免备案,都有各自的优势和适用场景,取决于您的需求和预算。以下是它们的一些区别和特点: 香港服务器: 物理服务器&#xf…