网站二级域名wordpress 定时发布失败

diannao/2026/1/27 10:27:41/文章来源:
网站二级域名,wordpress 定时发布失败,扬州seo,手机网站建设地址实战篇9 设立一个在jvm外的锁监视器#xff0c;可以处理多线程的问题 实战篇10 获取锁的时候#xff0c;要同时发生获取锁以及设置到期时间。 实战篇11 thinking#xff1a;JAVA中的自动拆箱与装箱#xff1f; 【Java基础】自动拆装箱_Elephant_King的博客-CSDN博客 TR… 实战篇9 设立一个在jvm外的锁监视器可以处理多线程的问题 实战篇10  获取锁的时候要同时发生获取锁以及设置到期时间。 实战篇11  thinkingJAVA中的自动拆箱与装箱 【Java基础】自动拆装箱_Elephant_King的博客-CSDN博客 TRUE.equals():保证不会有空指针异常。  package com.hmdp.utils;public interface ILock {/*** 尝试获取锁* param timeoutSec 锁持有的超时时间过期后自动释放* return true代表获取锁成功false代表获取锁失败*/boolean tryLock(long timeoutSec);/*** 释放锁*/void unlock(); } package com.hmdp.utils; import org.springframework.data.redis.core.StringRedisTemplate; import java.util.concurrent.TimeUnit; public class SimpleRedisLock implements ILock {private String name;private StringRedisTemplate stringRedisTemplate;private static final String KEY_PREFIX lock:;public SimpleRedisLock(String name, StringRedisTemplate stringRedisTemplate) {this.name name;this.stringRedisTemplate stringRedisTemplate;}Overridepublic boolean tryLock(long timeoutSec) {//获取线程标示long threadId Thread.currentThread().getId();//释放锁Boolean success stringRedisTemplate.opsForValue().setIfAbsent(KEY_PREFIX name, threadId , timeoutSec, TimeUnit.SECONDS);return Boolean.TRUE.equals(success);}Overridepublic void unlock() {//释放锁stringRedisTemplate.delete(KEY_PREFIX name);} } package com.hmdp.service.impl;import com.hmdp.dto.Result; import com.hmdp.entity.SeckillVoucher; import com.hmdp.entity.User; import com.hmdp.entity.Voucher; import com.hmdp.entity.VoucherOrder; import com.hmdp.mapper.VoucherOrderMapper; import com.hmdp.service.ISeckillVoucherService; import com.hmdp.service.IVoucherOrderService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hmdp.utils.RedisIdWorker; import com.hmdp.utils.SimpleRedisLock; import com.hmdp.utils.UserHolder; import org.springframework.aop.framework.AopContext; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;import javax.annotation.Resource; import java.time.LocalDateTime;/*** p* 服务实现类* /p** author 虎哥* since 2021-12-22*/ Service public class VoucherOrderServiceImpl extends ServiceImplVoucherOrderMapper, VoucherOrder implements IVoucherOrderService {Resourceprivate ISeckillVoucherService seckillVoucherService;Resourceprivate RedisIdWorker redisIdWorker;Resourceprivate StringRedisTemplate stringRedisTemplate;Overridepublic Result seckillVoucher(Long voucherId) {//1查询优惠券SeckillVoucher voucher seckillVoucherService.getById(voucherId);//2判断秒杀是否开始if (voucher.getBeginTime().isAfter(LocalDateTime.now())) {//尚未开始return Result.fail(秒杀尚未开始);}//3判断秒杀是否已经结束if (voucher.getBeginTime().isBefore(LocalDateTime.now())) {//已经结束return Result.fail(秒杀已经结束);}//4判断库存是否充足if (voucher.getStock() 1) {//库存不足return Result.fail(库存不足);}//一人一锁提高效率//intern 保证指定的userId对应指定的锁//先获取锁再完成以下方法先完成方法再释放锁才能确保线程安全Long userId UserHolder.getUser().getId();//synchronized(userId.toString().intern()){//获取代理对象事务//创建锁对象SimpleRedisLock lock new SimpleRedisLock(order userId, stringRedisTemplate);//获取锁boolean isLock lock.tryLock(1200);//判断是否获取锁成功if(!isLock){//获取锁失败返回错误或重试return Result.fail(不允许重复下单);}try {//获取代理对象事务IVoucherOrderService proxy (IVoucherOrderService) AopContext.currentProxy();return proxy.createVoucherOrder(voucherId);} finally {//释放锁lock.unlock();}// }}//加上事务因为这里有两张表Transactionalpublic Result createVoucherOrder(Long voucherId) {//5一人一单Long userId UserHolder.getUser().getId();//5.1 查询订单int count query().eq(user_id, userId).eq(voucher_id, voucherId).count();//5.2 判断是否存在if (count 0) {// 用户已经购买过了return Result.fail(用户已经购买过一次);}//6扣减库存boolean success seckillVoucherService.update().setSql(stock stock - 1).eq(voucher_id, voucherId).gt(stock, 0).update();if (!success) {//扣除失败return Result.fail(库存不足);}//7创建订单VoucherOrder voucherOrder new VoucherOrder();//7.1 订单idlong orderId redisIdWorker.nextId(order);voucherOrder.setId(orderId);//7.2 用户idvoucherOrder.setUserId(userId);//7.3 优惠券idvoucherOrder.setVoucherId(voucherId);save(voucherOrder);//8返回订单idreturn Result.ok(orderId);}} thinking我怎么知道什么时候要处理异常  最全最详细的Java异常处理机制_两个系统对接 另一个系统有异常_我是波哩个波的博客-CSDN博客 实战篇12 设置锁的标识避免误删别人的锁以达到避免多线程并发的情况发生 实战篇13 thinkinghutool的UUID 【工具类用法】Hutool里的生成唯一Id唯的工具类_hutool生成uuid-CSDN博客 thinkingjava中long和string互转 java中long和string互转_long转换string-CSDN博客 package com.hmdp.utils; import cn.hutool.core.lang.UUID; import org.springframework.data.redis.core.StringRedisTemplate; import java.util.concurrent.TimeUnit; public class SimpleRedisLock implements ILock {private String name;private StringRedisTemplate stringRedisTemplate;private static final String KEY_PREFIX lock:;private static final String ID_PREFIX UUID.randomUUID().toString(true)-;public SimpleRedisLock(String name, StringRedisTemplate stringRedisTemplate) {this.name name;this.stringRedisTemplate stringRedisTemplate;}Overridepublic boolean tryLock(long timeoutSec) {//获取线程标示String threadId ID_PREFIX Thread.currentThread().getId();//释放锁Boolean success stringRedisTemplate.opsForValue().setIfAbsent(KEY_PREFIX name, threadId, timeoutSec, TimeUnit.SECONDS);return Boolean.TRUE.equals(success);}Overridepublic void unlock() {//获取线程标示String threadId ID_PREFIX Thread.currentThread().getId();//获取锁中的标示String id stringRedisTemplate.opsForValue().get(KEY_PREFIX name);//判断标示是否一致if(threadId.equals(id)){//释放锁stringRedisTemplate.delete(KEY_PREFIX name);}} } 实战篇14 如果仅仅用id 两个不同的jvm就会出现两个相同的id 也有可能出现bug。因此要将这块原子性因为当线程一因为回收垃圾产生阻塞情况而锁因为超时而释放时线程二就有机会趁机而入从而获取锁从而发生多线程并发的情况 实战篇15 lua的使用手册 Lua 教程 | 菜鸟教程 实战篇16 thinking没有lua标志 解决方案下载其中一个就好不要两个都下载两个插件效果是一样的。两个都下载会导致idea卡死的哦。 LUA --比较线程标示与锁中的标示是否一致 if(redis.call(get,KEYS[1]) ARGV[1])then--释放锁 del keyreturn redis.call(del,KEYS[1]) end return 0JAVA package com.hmdp.utils; import cn.hutool.core.lang.UUID; import org.apache.ibatis.javassist.ClassPath; import org.springframework.core.io.ClassPathResource; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.script.DefaultRedisScript;import java.util.Collection; import java.util.Collections; import java.util.concurrent.TimeUnit; public class SimpleRedisLock implements ILock {private String name;private StringRedisTemplate stringRedisTemplate;private static final String KEY_PREFIX lock:;private static final String ID_PREFIX UUID.randomUUID().toString(true)-;//提前读好这个文件避免多次读取private static final DefaultRedisScriptLong UNLOCK_SCRIPT;//因为是静态的因此在静态代码块里面搞static {UNLOCK_SCRIPT new DefaultRedisScript();UNLOCK_SCRIPT.setLocation(new ClassPathResource(unlock.lua));UNLOCK_SCRIPT.setResultType(Long.class);}public SimpleRedisLock(String name, StringRedisTemplate stringRedisTemplate) {this.name name;this.stringRedisTemplate stringRedisTemplate;}Overridepublic boolean tryLock(long timeoutSec) {//获取线程标示String threadId ID_PREFIX Thread.currentThread().getId();//释放锁Boolean success stringRedisTemplate.opsForValue().setIfAbsent(KEY_PREFIX name, threadId, timeoutSec, TimeUnit.SECONDS);return Boolean.TRUE.equals(success);}Overridepublic void unlock() {//调用lua脚本stringRedisTemplate.execute(UNLOCK_SCRIPT, Collections.singletonList(KEY_PREFIXname),ID_PREFIX Thread.currentThread().getId());} // Override // public void unlock() { // //获取线程标示 // String threadId ID_PREFIX Thread.currentThread().getId(); // //获取锁中的标示 // String id stringRedisTemplate.opsForValue().get(KEY_PREFIX name); // //判断标示是否一致 // if(threadId.equals(id)){ // //释放锁 // stringRedisTemplate.delete(KEY_PREFIX name); // }} 实战篇17 这个网站不知道为什么打不开。。 实战篇18 dependencygroupIdorg.redisson/groupIdartifactIdredisson/artifactIdversion3.13.6/version/dependency package com.hmdp.config;import org.redisson.Redisson; import org.redisson.api.RedissonClient; import org.redisson.config.Config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class RedissonConfig {Beanpublic RedissonClient redissonClient(){//配置Config config new Config();config.useSingleServer().setAddress(redis://localhost:6379);//创建RedissonClient对象return Redisson.create(config);} } package com.hmdp.service.impl;import com.hmdp.dto.Result; import com.hmdp.entity.SeckillVoucher; import com.hmdp.entity.User; import com.hmdp.entity.Voucher; import com.hmdp.entity.VoucherOrder; import com.hmdp.mapper.VoucherOrderMapper; import com.hmdp.service.ISeckillVoucherService; import com.hmdp.service.IVoucherOrderService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hmdp.utils.RedisIdWorker; import com.hmdp.utils.SimpleRedisLock; import com.hmdp.utils.UserHolder; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.aop.framework.AopContext; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;import javax.annotation.Resource; import java.time.LocalDateTime;/*** p* 服务实现类* /p** author 虎哥* since 2021-12-22*/ Service public class VoucherOrderServiceImpl extends ServiceImplVoucherOrderMapper, VoucherOrder implements IVoucherOrderService {Resourceprivate ISeckillVoucherService seckillVoucherService;Resourceprivate RedisIdWorker redisIdWorker;Resourceprivate StringRedisTemplate stringRedisTemplate;Resourceprivate RedissonClient redissonClient;Overridepublic Result seckillVoucher(Long voucherId) {//1查询优惠券SeckillVoucher voucher seckillVoucherService.getById(voucherId);//2判断秒杀是否开始if (voucher.getBeginTime().isAfter(LocalDateTime.now())) {//尚未开始return Result.fail(秒杀尚未开始);}//3判断秒杀是否已经结束if (voucher.getBeginTime().isBefore(LocalDateTime.now())) {//已经结束return Result.fail(秒杀已经结束);}//4判断库存是否充足if (voucher.getStock() 1) {//库存不足return Result.fail(库存不足);}//一人一锁提高效率//intern 保证指定的userId对应指定的锁//先获取锁再完成以下方法先完成方法再释放锁才能确保线程安全Long userId UserHolder.getUser().getId();//synchronized(userId.toString().intern()){//获取代理对象事务//创建锁对象// SimpleRedisLock lock new SimpleRedisLock(order: userId, stringRedisTemplate);RLock lock redissonClient.getLock(lock:order: userId);//获取锁//不传参数代表我失败了立即返回boolean isLock lock.tryLock();//判断是否获取锁成功if(!isLock){//获取锁失败返回错误或重试return Result.fail(不允许重复下单);}try {//获取代理对象事务IVoucherOrderService proxy (IVoucherOrderService) AopContext.currentProxy();return proxy.createVoucherOrder(voucherId);} finally {//释放锁lock.unlock();}// }}//加上事务因为这里有两张表Transactionalpublic Result createVoucherOrder(Long voucherId) {//5一人一单Long userId UserHolder.getUser().getId();//5.1 查询订单int count query().eq(user_id, userId).eq(voucher_id, voucherId).count();//5.2 判断是否存在if (count 0) {// 用户已经购买过了return Result.fail(用户已经购买过一次);}//6扣减库存boolean success seckillVoucherService.update().setSql(stock stock - 1).eq(voucher_id, voucherId).gt(stock, 0).update();if (!success) {//扣除失败return Result.fail(库存不足);}//7创建订单VoucherOrder voucherOrder new VoucherOrder();//7.1 订单idlong orderId redisIdWorker.nextId(order);voucherOrder.setId(orderId);//7.2 用户idvoucherOrder.setUserId(userId);//7.3 优惠券idvoucherOrder.setVoucherId(voucherId);save(voucherOrder);//8返回订单idreturn Result.ok(orderId);}} 实战篇20 实战篇21

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

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

相关文章

深圳网站建设公司开发制作网站建立一平台个网站需要多少钱

大型语言模型 (LLM) 在自然语言理解和生成方面表现出了令人印象深刻的能力,导致它们在聊天机器人和虚拟助理等应用中得到使用。然而,现有的法学硕士框架在处理具有丰富数据结构的特定领域数据分析任务时面临局限性。此外,他们还难以灵活地满足…

专做畜牧招聘网站的中国城乡建设部网站证书查询

文章目录 题目思路代码结果 题目 题目链接 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 nums 中的 K-or 是一个满足以下条件的非负整数: 只有在 nums 中,至少存在 k 个元素的第 i 位值为 1 ,那么 K-or 中的第 i 位的值才是 1 。…

外贸电子商务网站了解网站开发的一般过程

spring rooSpring Roo是在Java平台上提供快速应用程序开发的工具。 我已经解释了何时使用它: http : //www.kai-waehner.de/blog/2011/04/05/when-to-use-spring-roo 。 Spring Roo目前支持两种针对云计算的解决方案:Google App Engine(GAE&a…

医疗网站设计风格网址域名解析

大批量插入数据到MySQL时,为了提高效率并减少对数据库的负担,可以采用以下六种策略: 1. 批量插入(Batch Insert) 使用单个 INSERT INTO 语句插入多行数据,而不是为每一行数据单独执行一次 INSERT。这样可以…

个人购物网站建设商会网站建设开发

方法1不可以修改的用label,如何按了哪一行 就会在下面有个文本显示可编辑的一行 方法2每一行后面都有一个编辑, 3对每一个修改,每一个td失去焦点都会有,直接到达我们服务器 注意 如果用span的每一个html元素都可以自己定义属性 Data-属性名,data-Address links也要给为span 1…

金华网站建设优化技术灯饰网站开发

原文:预定义变量 - PHP手册笔记预定义变量将所有的外部变量表示成内建环境变量,并且将错误信息表示成返回头。超全局变量是在全部作用域中始终可用的内置变量。在函数或方法中无需执行global $variable,就可以访问它们。 $GOBALS引用全局作用域中可用的全…

旅行做攻略的网站南昌市有帮做网站的吗

《大学计算机—计算思维导论》(战德臣 哈尔滨工业大学) 《10.2 什么是数据库与数据库系统?》 数据库 简单来讲,数据库就是相互有关联关系的数据的集合。 一个表聚集了具有相同结构类型的若干个对象一行数据反映了某一对象的相关…

江苏省建设部网站重庆森林台词

PostgreSQL实现了基于角色的存取控制机制。角色是权限的集合。可以将权限赋给用户,也可以将权限赋给角色。可以将角色赋给一个用户,该用户将拥有角色的所有权限。也可以将角色赋给其它的角色。PostgreSQL中的用户和角色使用同一个名字空间。数据库中不能…

网站备案是在哪里查购物商城起名

介绍 本示例主要使用ohos.data.uniformTypeDescriptor 展示了标准化数据定义与描述的功能,在新增预置媒体文件后,对媒体文件的utd标准类型获取、utd类型归属类型查询、获取文件对应的utd类型的默认图标、支持自定义数据类型等功能。 实现过程中还使用到…

网站推广书网站seo排名培训

题面 显然的一个建模是,每个叶子对应一个权值,代表比最晚的叶子早了多久,然后我们要做的就是给每条边赋上值,使得每个叶子到根的路径上的所有边权值和等于叶子的权值。 我们贪心的想一想,必然是离根越近的边赋值多的情…

做水果网站需要些什么网站没被收录

引言: 在Spring Boot项目中,我们经常需要对Web MVC进行配置,以满足项目的特定需求。例如,设置静态资源映射、自定义消息转换器或生成Swagger接口文档等。今天,我们将详细探讨如何在Spring Boot中通过WebMvcConfig类进行…

华为官方商城网站建设方案wordpress 登录注册

转载链接:http://www.cnblogs.com/guoguo-15/archive/2011/08/24/2151859.html css中!important的作用 {*rule !important}这个css规则当今在网页制作的时候的普及已经非常流行了,以前我对它的理解就停留在‘浏览器是否识别阶段’ 而没有真正去研究过&am…

西安做网站公司哪家行百度推广获客

文章目录 介绍MySQL 之间的区别和适用场景差异数据模型:查询语言:可扩展性:数据一致性: 下载安装环境变量配置 介绍 MongoDB 是一种开源的、面向文档的 NoSQL 数据库管理系统。它使用灵活的文档模型来存储数据,这意味…

做网站赚钱吗wordpress 更新提示

MVVM试图更加清晰的讲用户界面(UI)开发从应用程序的业务逻辑与行为中心分离,由于,不少这样的模式的实现都须要利用声明式数据绑定来实现讲View(视图)工做从其余层分离css因此出现了一大堆自定义的声明式的语法:html如:Avalonnode顾名思义,自定…

读书郎营销网站找项目网站

ead命令: read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量 1)read后面的变量var可以只有一个,也可以有多个,这时如果输入多个数据,则第一个数据给第一个变量,第二个数…

怎么用PHP做网站留言板在线编程的网站

一句话,clean一下这个Project!就OK了…… 不要被假象迷惑!转载于:https://www.cnblogs.com/wytings/p/4156038.html

误入网站退不了怎么做青岛餐饮加盟网站建设

51CTO著名专家老刘,连发了两篇博文,老刘的博客http://2844337.blog.51cto.com/ 都是劝谏我们年轻人不要浮躁。两篇文章用故事教育我们一定不要浮躁,但是如何做到不浮躁,老刘没有说。我想借着这个主题,简单谈一下自己的…

网上做网站资金大概多少美食网站联系我们怎么做

到2023年底,所有向github托管的存储库贡献代码的用户都必须启用一种或多种形式的2FA。 双重身份认证 所谓双重身份认证(Two-Factor Authentication),就是在账号密码以外还额外需要一种方式来确认用户身份。 GitHub正在大力推动双…

深圳市手机网站建设怎么样职业生涯规划大赛含金量高吗

1前一个clip的位置 2选root的话就跑到这里了,跟前一个clip差很多 3换了left foot对齐之后才正常 4这时候开不开自动对齐不影响 5奇怪医生的中心似乎是途中的花坐标轴偏离人体好多呀不知何时跑这里的难道前面是应为这个?中心跑了我还不知道 6动画交叉的时…

网站推广的作用是建网站得钱吗

1、GitHub,这个不管是做安卓还是其他,只要是开发就必上的网站,也是天朝没有墙掉为数不多的网站 2、Stack OverFlow,这个和上面一样,国外非常著名的问答网站,在上面基本上很多问题都可以得到解决 3、Genymotion模拟器,搞…