我不是码农

2
获赞数
5
关注数
1
粉丝数
广州
长沙理工大学 | 软件技术
IP 属地湖南
2017-02-22 加入
浏览 8.5k

java开发码农

3 声望
springboot
3
maven
3
wsl2
0
docker
0
spring
0
黄金勋章
暂未获得该勋章
如何获得
个人动态
  • 赞了文章2024-06-13
    剖析 Druid SQL 解析器
    Druid 是一个 JDBC 组件库,包括数据库连接池、SQL Parser 等组件,DruidDataSource 是最好的数据库连接池。
  • 发布了文章2024-05-24
    增强spring cache实现redis+caffeine二级缓存
    先说下需求,由于需要上线统一系统平台,系统使用人数、数据量都有较大提升,之前已经升级了系统为三节点的服务进行负载,但是经过压测,发现接口缓存使用的redis成为了单点瓶颈,之前已经将登录会话状态和用户组织字典等接口数据的redis集群进行了分离(2个redis集...
  • 发布了文章2023-12-13
    hibernate的@ManyToOne(fetch=FetchType.LAZY)无效原因
    遇到了一个hibernate查询问题,当查询实体时,并没有任何显式调用@ManyToOne注解的属性的情况下,依然会进行查询,(开始使用idea进行debug的时候,发现在debug过程中,idea会触发hibernate的加载操作,当然了这是另外一个问题),我在hibernate官网找到了答案:[链...
  • 发布了文章2023-12-04
    shardingsphere自定义hint分片算法,完美实现按区域编码数据隔离,没改一行旧代码
    因为已经改造了登录平台,实现了集群统一部署,然后后续就是继续弄集中统一部署服务改造(这里的集中统一部署的意思是区别于每个区域私有部署,服务本身还是可以弹性伸缩的),首先改造一个比较简单的白名单微服务,只涉及到三张表,业务逻辑也简单就是CRUD以及关联...
  • 发布了文章2023-08-30
    spring使用@Async注解导致循环依赖问题异常的排查
    因为我用到了@async来实现异步操作,在本地跑的时候一直没有报错,可是当我打包到服务器启动的时候却报了一个BeanCurrentlyInCreationException
  • 发布了文章2023-08-17
    记录一次使用线程池调用kafka发送消息产生的内存泄漏问题
    在需求实现里,我需要把持久化在数据库中的对象一直往kafka里发送,然后由flink进行消费,把当前的对象和存储的用户轨迹记录等等信息进行比对,如果比对成功则触发最开始我是通过单线程发送,发现发送速度有点慢,这里面我需要把对象做一些处理(比如split,flat,fitl...
  • 发布了文章2023-07-26
    30w+数据使用RedisTemplate的pipeline空指针NullPointerException异常分析
    为了实现业务需求,在flink流式处理时查询redis进行比对,然后方案是放在redis里的数据格式为Set,key使用的直接是对象的值,比如身份证号、手机号等等,然后value的值为该对象所属的任务ID,之所以是这样设计,是因为可能有多个任务都设置了该布控对象,这时候比对...
  • 发布了文章2023-05-18
    由于锁超时让我发现了parallelStream并行流的关于线程上下文的一个坑
    就我之前因为在处理jpa持久化对象上下文(文:[链接])时,parallelStream并行流给我的印象就是会读不到父线程的上下文的,所以应该在父线程里的事务和在parallelStream里的事务应该是区分的,而不是共用同一个事务的,然而今天因为一个锁超时的问题,发现并没有那么...
  • 发布了文章2023-04-20
    使用arthas在线调试测试环境
    有个开发需求是日志每天只发送一次,现在遇到个bug,测试环境没有发送数据,我在本地启动后有新的日志产生,kafka没看到错误日志,而代码里没有其他更多的逻辑,所以我猜测就是每天只发送一次的这个逻辑发生了错误
  • 发布了文章2023-04-13
    用户组用户角色应用关系绑定批量插入应用用户和应用角色关联关系数据(后续)
    用户组用户角色应用关系绑定,先取最终用户需要绑定角色的交并集,然后再求用户组用户角色的笛卡尔积,最多可产生(用户数应用数角色数)条数据,多线程操作,从几小时到几十分钟,增加一个查询(open_role_user表的user_id)索引,变成6分钟,改成批处理插入,变成...
  • 发布了文章2023-03-24
    spring jpa关于线程池异步执行导致detached entity passed to persist问题排查和解决
    我这边有个批量插入用户OpenUser和应用OpenApp关联关系数据的操作,由于耗时较长时间,所以准备用线程池异步执行操作,然而却遇到了一个jpa的detached entity passed to persist问题,我这边的操作是批量保存一个OpenAppUser关联关系表,所以需要先获得对应OpenUser...
  • 发布了文章2023-03-20
    kafka stream的自定义时间段窗口实现
    最近系统需要做一个日志平台,对所有接入的系统进行日志的统计分析,因为之前用的是kafka来实现各业务系统日志接入日志平台的,所以想到了直接使用kafka官方本身提供的一个实时计算框架kafka stream。kafka stream的时间窗口有两个重要的属性:窗口大小和步长(移动间...
  • 发布了文章2023-01-09
    业务系统大事务导致mysql死锁问题的排查与解决
    场景描述:用户平台有一各操作步骤(用户应用绑定,用户角色绑定)比较多,为提升用户体验,统一批量操作,后来就加了一个用户组的概念(用户绑定用户组和角色,用户组绑定多个角色,角色绑定多个应用,这里涉及到一些交并集操作以及笛卡尔积,比如用户数据有5000,...
  • 发布了文章2022-11-15
    springboot引导上下文加载过程和配置加载过程
    初始化SpringApplication:getSpringFactoriesInstances获取BootstrapRegistryInitializer、ApplicationContextInitializer、ApplicationListener;发布SpringApplicationRunListeners#starting事件
  • 发布了文章2022-10-21
    使用mybatis-plus的多数据源方案aop不生效问题的排查
    我在自己的配置类里定义这个bean的话可以进行初始化,经过debug,其实主要原因就是使用了该@ConditionalOnMissingBean注解导致的,不知道为啥dynamic-datasource-spring-boot-starter的作者要加上这个注解,在spring有加载其他的Advisor实现类的时候(我这边主要是有...
  • 发布了文章2022-06-30
    使用Nacos实现Spring的ConfigurationProperties的map类型key动态更新删除不了的问题解决方案
    源码分析一波,进行排查 首先要介绍一下spring的各生命周期周期,这里动态更新就用到了RefreshEvent事件,在NacosContextRefresher#registerNacosListener()里,nacos实现了一个修改配置的回调监听,并且会广播一个RefreshEvent事件 然后RefreshEventListener会收到...
  • 发布了文章2022-04-07
    spring data jpa 分页下标改成1不生效问题排查
    使用spring data jpa查询数据分页,默认spring的分页下标page从0开始,而前端对接一般都是从第1页开始,其中有个配置spring.data.web.pageable.one-indexed-parameters,默认为false,即从下标0开始,改成true即为1开始。但是改了之后并没有效果,进行了排查,问题记...
  • 发布了文章2021-11-24
    spring security+oauth2 实现统一认证鉴权平台(客户端sdk部分)
    接入简单,支持多租户,可配置,低代码式的快速实现一套自己的认证鉴权逻辑包含用户管理、部门管理、角色管理、权限管理,未来还可以支持更多模块,比如数据字典管理、...预计节省每个应用相关模块研发时间5人天对于oauth2.0协议来说,有几个概念授权服务器客户端资...
  • 发布了文章2021-11-13
    jpa之hibernate和jackson踩坑记录
    在做的项目采用的是spring jpa,底层默认使用的是orm是hibernate,通过hibernate查询出来的实体对象实际上都是代理对象,在序列化的时候,我们可能会遇到懒加载导致jackson无法正确解析对象的问题,这个可以通过导入maven包
  • 发布了文章2021-11-11
    spring-security和ObjectMapper(json反序列化)的白名单问题记录
    这几天在弄一个统一的支持多租户的认证鉴权平台,就想到了使用oauth这种授权协议来进行,通过包含open-user信息的jwt来进行分发。使用这个遇到了一些坑,记录如下: