logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

spring security 用JPA进行安全管理中使用自定义的UserDetails时,maximumSessions()无法限制Session数

这是我自定义的UserDetails,这个user对象会保存到数据库。//自定义的User@Entity(name = "t_user")public class User implements UserDetails, CredentialsContainer {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long

在 Spring Boot 使用Bean Validation 完全指南

1 前言Bean Validation是 Java 生态圏中实现Bean校验规范的事实上的标准。 它与 Spring 和 Spring Boot 能很好地集成在一起。但是,也存在一些问题。 本教程详细介绍了所有主要的校验用例和每个用例的代码示例。代码示例他的文章附有 GitHub 上的工作代码示例。2 使用 Spring Boot Validation StarterSpring Boot 的 B

#spring boot#java
记一次生产环境Java堆内存溢出问题排查思路

先将转储文件从服务器下载下来,打开Visual VM,点击右上角的Load Snapshot,将这个转储文件加载到Visual VM中。

文章图片
#java#开发语言
深入浅出feign 、ribbion中的重试相关配置

feign、ribbion,这两个组件是spring cloud 远程调用最常用的两个组件。这两个组件分别有各自的重试机制和默认配置。

文章图片
#ribbon
深入浅出mysql海量数据批量更新插入、批量查询

这个参数后的抓包截图,jdbc客户端重写了sql语句,它把多个sql语句用分号分隔连接在一起,形成一个大sql脚本, 然后将这个sql脚本一次性发送到server端,最后接收到了大量的response响应。mysql提供了批量写入的方法,将大批量的sql脚本一批次发送到服务端,减少IO次数,然后统一一次执行sql。理论上,上面的sql是批量提交到mysql server统一执行的,但在默认情况下实

文章图片
#mysql
深入理解mysql中的各种超时属性

连接超时: 登录超时: Socket网络超时,即读超时: sql执行超时:spring事务超时:innodb锁等待超时:mysql server网络回包写超时(针对大量数据查询的sql)

文章图片
#mysql
深入理解feign远程调用的各种超时参数

2) 同时使用了feign和ribbion组件,(1)若没有任何人为配置超时时间,远程调用使用ribbion的默认超时时间,连接超时、读超时都是1秒钟;(2)若同时主动配置了feign 、ribbion的超时时间,则使用feign的超时时间;(3)若只主动配置了feign超时时间,则使用feign超时时间;(4)若只主动配置了ribbon超时时间,则使用ribbion超市时间。1)只使用feign

文章图片
#微服务#java
Spring Boot中的各种事件

spring boot 各种事件贯穿整个启动的生命周期,读懂了这些时间也差不多理解了springboot的启动流程。接口表示springboot程序准备开始启动,这是最早的事件触发方法,它将触发。的方法定义很讲究,方法从上到下的顺序也正好是各事件触发的顺序。定义了spring启动过程中各个事件被触发的顶层方法。接口的唯一具体实现类是。

文章图片
#spring boot
到底了