- 博客(33)
- 收藏
- 关注
原创 小记一下Zookeeper配置中心的部分原理
记录一下,这里其实很类似nacos的@Value,注解,可以结合去理解。2. 注解中设置了默认值,当读取配置中心为空时,使用该默认值的原因。1. 平时使用配置中心时,注解标记后能读取到配置的原因。
2025-03-12 22:21:45
271
原创 Redis分布式锁安全问题
Redis 作者继续论述,如果对方认为,发生网络延迟、进程 GC 是在步骤 3 之后,也就是客户端确认拿到了锁,去操作共享资源的途中发生了问题,导致锁失效,那这不止是 Redlock 的问题,任何其它锁服务例如 Zookeeper,都有类似的问题,这不在讨论范畴内。很多人用分布锁,以为拿到锁后,就可以安心地去改共享资源,认为分布锁 100% 安全,其实不然,拿到锁后面临各种异常情况,都有可能导致锁失效,这时候再去改资源,可能锁已经被别人拿到去改资源了,产生并发冲突。使用锁用来防止并发进程互相干扰。
2025-02-23 23:20:24
597
原创 stream流或者foreach来说,break可以暂停吗
答案是不能的,因为对于stream流里面的每一个lambda表达式来说,就是一个接口的实现方法。在该实现方法里面没有写循环,写break或者continue是会报错的。但是如果使用return是可以有continue的作用的,结束当前循环。
2025-02-19 00:06:32
213
原创 lombok的@Data注释找不到get和set方法
找到如图的位置,点击本项目名称的Annotation,设置从项目类路径获取处理器即可。刷新maven构建,重新运行即可。
2025-02-03 18:33:44
278
原创 slf4j的打印的log.error(e.getMessage) 、log.error(+e)和log.error(,e)的区别
slf4j的打印的log.error(e.getMessage) 、log.error(+e)和log.error(,e)的区别
2025-01-10 12:52:46
388
原创 sharding-jdbc线程池异步切换数据源-小记
这里面的HintManager.getInstance()源码是涉及到,本次场景中是线程池去异步执行任务,且task是自定义的切换数据源。
2024-12-18 09:48:20
419
原创 Canal server+adapter、Canal+MQ同步ES的踩坑点及注意点
Canal是增量同步,在Canal server+adapter同步到es中,对于之前的数据未同步到es中的,数据库对数据更新,canal是不能对之前的数据进行更新的,同步到es中的时候会报文档不存在,即对应的数据不存在,无法更新。复制放入到lib中,不然启动不了cannal。
2024-12-12 15:16:08
206
原创 idea让数据库中updatetime更新-记录
MySQL5.6.5以上的版本、CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP都适用于datetime、timestamp类型。createtime、updatetime的时间类型是datetime类型,这里如果是timestamp类型也是可以的。已创建的执行这个更改就行了,xx_table换成你的表名。mysql创建表的时候,这样创建就自动更新这个字段了。
2024-11-01 11:15:35
236
原创 xxl-job线程池异步任务参数、日志打印错误
平时xxl-job大部分人使用都是单线程的方式,即执行一次任务由一个主线程执行。这里记录一下,xxl-job在线程池异步(多租户场景下)出现项目启动后,第一次调用之后的调用(如第二次、三次..),其传入的任务参数以及日志打印出现问题:任务参数都是第一次调用的,日志打印都打印在第一次调用的log中。
2024-10-15 17:43:43
837
1
原创 Could not resolve dependencies for project
记录一下,本地开发的组件。另一个服务模块需要引入这个模块,对组件服务进行install。这时需要对父项目点击install就可以了。
2024-10-09 22:34:22
778
原创 Sharding Jdbc 5.x 版本配置及默认数据源
像是你有2个数据库db1和db2,如果db1中有一个不分库分表的表t1就可以加入到这里面来(其他2个默认你是已经配了分表的),个人小记-仅参考。因为需要解析 yaml 但默认的 SpringBoot 提供版本不支持 shardingsphere-jdbc-core 使用。然后数据库配置,我这里是3个表(1个不分库分表的数据源,2个分库的数据源-表都是相同的)
2024-08-26 16:39:36
1587
2
原创 调用自身方法导致事务失效
在基础系统中多次出现爆红关于本类方法调用自身的事务方法,导致事务失效:这个批量更新是属于Mybtis-plus的,而这个类继承于该基础类就有了批量更新的方法,也相当于自身的方法了。但事务一般是通过声明式事务进行设置:对于声明式事务就是通过spring生成一个代理该类的对象,
2024-06-22 20:36:26
546
2
原创 记录贴(前端传值问题)
在个人博客项目进行添加文章前端传值的时候,前端传入的dto实体是不包含id的,即该实体id为null,然后进行对Redis进行阅读量添加文章值更新。但这里首先先进行实体存入到数据库中id,通过数据库执行,该实体就会修改该id,然后就可以获取到后面新增的id。
2024-01-08 23:36:11
424
原创 Nginx配置报错:ERROR: nginx: [emerg] unknown directive “auth_request“
sh /www/server/panel/install/nginx.sh install Nginx版本号,这里我的是1.24.0,看自己的版本。保存退出,执行安装命令sh /www/server/panel/install/nginx.sh install 1.24.0。打开宝塔打开文件位置:/www/server/panel/install(通过宝塔安装的Nginx一般是这里的目录)首先需要注意的自己默认安装编译的Nginx是带有request_auth认证模块,不需要手动开启。
2024-01-07 12:16:33
1592
3
原创 RabbitMQ消息Json序列化Could not convert incoming message with content-type
接收消息的时候,还会把字节反序列化为Java对象。只不过,默认情况下Spring采用的序列化方式是JDK序列化。在原本消息序列化中:JDK序列化方式并不合适。我们希望消息体的体积更小、可读性更高,因此可以使用JSON方式来做序列化和。Spring会把你发送的消息序列化为字节发送给。bean,它会自动将其关联的默认。如果你希望在Spring外部配置。方法一起使用,你可以将外部配置的。当你在Spring外部配置。时,它将使用你在外部配置的。记得在外部的配置类上添加。,你需要手动将其设置给。
2023-08-21 21:24:14
1934
3
原创 关于出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)的网上没有的情况
重点重点:在application配置文件里面,忘记自己项目是使用mybatis-plus结果没有配置,就配置了mybatis的配置文件位置。导致一直报错,找不到sql的映射文件
2023-07-21 17:49:14
87
1
原创 SpringBoot最新版本Security配置(2023年),亲测成功
application.propertiesSecurityConfig:配置默认登录用户(即用数据库的用户和密码登录):1:UserDetailsServiceImpl2:UserDetailsImpl:3:配置完,记得更改SecurityConfig配置,添加前端密码加密验证,这里就可以使用security自带登录对数据库信息进行验证登录了通过该工具类根据用户id生成jwt
2023-05-12 17:12:01
3736
原创 Java基础学习3
Arrays类学习:面向对象:1:面向对象编程本质是:以类的方式组织代码,以对象的组织(封装)数据。2:三大特性:封装,继承,多态。3:不同方法调用的时候遵循一个原则:被static修饰的内容会跟随类的加载而加载,所以静态化的内容可以不用实例化就直接调用,同时两个静态方法之间也可以互相调用创建对象内存分析:属性私有,get/set,IDEA快捷键为Alt+Insert重写:1:重写:方法名和参数都一样,实现过程随意,位于父类和子类中。重载:方法名相同,参数必须不同。2:需求就是:子类想用自己的
2022-07-07 23:33:09
85
原创 Java基础学习2
a++:先赋值再自加一;++a:先自加一再赋值。条件运算符(三元运算符)(?:):漏洞:特别注意字符串连接符 + ,String,在前面加上""的区别:包机制:.*导入包内全部类在工具里面找到生成Javadoc包通过Scanner类的next()与nextLine()方法获取输入的字符,在读取前面我们一般还要用hasNext()与hasNextLine()判断是否还有输入的数据。switch多选择结构(忘记可上网查询写法,容易):While和do-While的区别:1:While先判
2022-07-06 00:39:19
110
原创 java基础学习1
注意:如果比较的对象是基本数据类型,则比较的是数值是否一致;如果比较的是引用数据类型,则比较的是对象的地址值是否一致。数字可用下划线分割进行区分数字长度,如:int a=10_0000_13;运行输出为100000_3。 特别注意溢出的时候问题,比如定义一个所有方法可以调用静态变量,非静态方法可以调用静态变量和非静态变量,类变量注意加上static。常量名final:...
2022-07-05 00:25:49
74
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人