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