- 博客(12)
- 收藏
- 关注
原创 redis分布式锁过期的优化方案
问题场景:假设redis分布式锁(key)过期时间是5s,任务的执行时间是10s,那么就意味着A线程获取锁之后尚未执行完毕,B线程就可以获取到锁,很明显此时锁无法保证线程安全,应该如何优化处理?思路:线程获取到锁之后,开启一个守护线程,专门用来维护key的过期时间。由此可以保证任务线程未执行完毕的情况下,key不会过期。
2023-06-28 17:30:47
397
原创 Spring事务失效场景
Spring事务生效的前提是所连接的数据库要支持事务,如果底层的数据库都不支持事务,则Spring的事务肯定会失效。如果同一个类中的两个方法分别为A和B,方法A上没有添加事务注解,方法B上添加了 @Transactional事务注解,方法A调用方法B,则方法B的事务会失效。如果事务方法所在的类没有加载到Spring IOC容器中,也就是说,事务方法所在的类没有被Spring管理,则Spring事务会失效。如果内部方法的事务传播类型为不支持事务的传播类型,则内部方法的事务在Spring中会失效。
2023-06-28 09:11:57
1216
原创 linux系统安装nginx
1、安装gcc编译器 首先通过gcc -v查看是否已经安装: 由于服务器之前已经安装,这里就不重新安装了。如果没有安装的话可执行一下命令: yum install gcc-c++ 2、分别安装模块pcre、zlib、openssl yum install -y openssl openssl-devel yum install -y pcre pcre-devel yum install -y zlib zlib-devel(我这里之前已经安装完了) 3、安装nginx 进入/us
2022-05-03 11:39:58
1880
原创 idea运行正常,jar报错缺少某类
记录一下遇到的问题,早了半天才找到:idea运行正常,jar报错缺少某类。 查看下pom文件maven插件(springboot项目:spring-boot-maven-plugin)是否包含如下参数: <includes> <include> <groupId>nothing</groupId> <artifactId>nothing</artifactId> </include>
2022-04-29 15:52:25
3869
1
原创 linux安装mysql
1、检查安装 首先检查是否已经安装mysql,执行命令rpm -qa|grep mysql,如果没有任何信息则表示未安装,否则表示已经安装。 2、卸载mysql 如果未安装mysql则忽略该步骤。 执行命令 service mysqld status: 如下则表示没有该服务 如下则表示MySQL server已启动 关闭MySQL服务(如无该服务则忽略此步骤):service mysqld stop 卸载MySQL:rpm -e --nodeps mysql 查找与my
2022-04-28 16:01:17
2213
原创 npm install 异常处理
以遇到的异常为例,npm install失败提示缺少node-sass, 然后执行npm rebuild node-sass; 继续npm install; 如果执行失败并提示配置python环境变量,则需下载安装python并配置环境变量。 然后执行:npm install --global --production windows-build-tools npm install --global node-gyp 最后继续执行npm install ...
2022-04-21 16:40:15
2273
原创 JAXB xml处理工具类
1、首先创建Bean @XmlRootElement注解标注当前类作为根节点 @XmlAccessorType注解标注绑定到XML文件的属性,@XmlRootElement默认绑定public属性 @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class Bean{ @XmlElement private Property property; } @XmlAccessorType...
2022-04-04 16:07:42
374
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人