自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蔡定努

蔡定努个人博客

  • 博客(433)
  • 资源 (59)
  • 收藏
  • 关注

原创 spring中优雅统计接口耗时

【代码】spring中优雅统计接口耗时。

2024-08-15 16:16:07 12

原创 laravel项目配置

【代码】laravel项目配置。

2024-08-03 01:20:13 234

原创 使用 Prometheus 监控 Spring Boot 应用

前面我们在 Spring Boot 项目中集成 Actuator 和 Micrometer 实现了 Spring Boot 应用监控,基本上覆盖 JVM 各个层间的参数指标,并且配合 Grafana Dashboard 模板基本可以满足我们日常对 Spring Boot 应用的监控。但是,对于核心业务是否也能够监控它们的执行情况呢?答案是肯定的,Micrometer 支持自定义监控指标,实现业务方面的数据监控。例如统计访问某一个 API 接口的请求数,统计实时在线人数、统计实时接口响应时间等。

2024-07-31 11:02:49 41

原创 CPU 占用率 100% 排查五步法

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。对于线上问题定位来说,分秒必争,所以我们在编码过程中,除了要实现业务功能交付,还要追求代码质量,要写出更高效、更优雅的代码。当然,除了使用上面的基础方法外,还有很多工具可以直接使用,例如阿里的 Arthas。的占用 CPU 是最高的,直接是 100%。

2024-07-29 22:29:14 43

转载 SpringBoot 单体应用实现零停机更新

在个人或者企业服务器上,总归有要更新代码的时候,普通的做法必须先终止原来进程,因为新进程和老进程端口是一个,新进程在启动时候,必定会出现端口占用的情况,但是,还有黑科技可以让两个 SpringBoot 进程真正的共用同一个端口,这是另一种解决办法,我们下回分解。那么就会出现一个问题,如果此时有大量的用户在访问,但是你的代码又必须要更新,这时候如果采用上面的做法,那么必定会导致一段时间内的用户无法访问,这段时间还取决于你的项目启动速度,那么在单体应用下,如何解决这种事情?

2024-07-23 22:34:28 68

原创 phpstorm配置xdebug3

添加PHP Remote Debug,server选择刚刚setting添加的server,IDE key填写php.ini中的xdebug.idekey。注意: XDEBUG_SESSION_START=cdn 这个参数必须有,代码这个请求需要debug,值是php.ini中配置的。Xdebug的debug端口必须配置和php.ini中一致。这里配置那个域名的那个服务要用xdebug。查看x-debug是否配置成功。在最后添加,以下是我的配置。查看php路径相关信息。php.ini 配置。

2024-07-23 11:16:52 427

原创 Spring Data MongoDB 自定义转换器:写入和读取 LocalDateTime

在使用 Spring Data MongoDB 时,有时需要将特定类型(如 LocalDateTime)与 MongoDB 文档中的特定格式(如时间戳)之间进行自定义转换。本篇博客将介绍如何创建自定义转换器来实现这一功能。读者需具备以下知识:本文涉及以下技术:转换器在 Spring Data MongoDB 中的作用:详细解释编写写入转换器的步骤:ReadingConverter:将时间戳转换为 LocalDateTime详细解释编写读取转换器的步骤:注册自定义转换器在 Spring 配置类中注册自

2024-07-10 15:51:56 630

原创 Spring Boot整合MongoDB实现事务管理

Spring Boot是一种快速开发Spring应用的方式,它提供了大量的自动配置和默认设置,以简化开发流程。MongoDB是一个基于文档的NoSQL数据库,以其高性能和灵活的数据模型而受到欢迎。从MongoDB 4.0版本开始,引入了对多文档事务的支持,这对于需要保证数据一致性的复杂应用来说是一个重要的特性。本文将介绍如何在Spring Boot应用中整合MongoDB,并实现事务管理。

2024-07-09 12:36:51 781

原创 idea配置外置gradle

路径: /Users/caidingnu/save/gradle-8.5/init.d/ init.gradle。下载gradle包,解压。idea 配置文件修改。

2024-06-28 16:41:48 497

原创 docker+[nginx] 部署nacos2.x 集群

便于直接使用容器名连接mysql,如果不创建,连接mysql直接使用ip。nginx 【可选,见文末】

2024-06-27 17:22:30 179

原创 RabbitMQ 关闭、开启消费

默认情况下,消费者在项目启动的时候就开始监听队列消费了,在某些特殊情况,可能需要临时关闭消费。

2024-06-20 16:33:02 534

原创 @AliasFor 使用

理论上来说,注解的key和name,都有彼此的别名,设置了一个值之后,另一个值也绑定该值,实际上需要使用AnnotationUtils才行,原因是该属性值的赋予是经过AnnotationUtils中的getAnnotation方法实现的。@AliasFor 它允许开发者为一个注解的属性指定别名。通过使用@AliasFor,我们可以提供多个名称来引用同一属性,从而增加了代码的灵活性和可读性。@AliasFor 使用。

2024-06-16 16:27:33 227

原创 发布代码到maven私有仓库

Durl:私服上仓库的位置,打开nexus——>repositories菜单,可以看到该路径。DrepositoryId服务器的表示id,在nexus的configuration可以看到。maven会先从本地仓库找,本地仓库没有再从私服找,私服没有再去中央仓库(mvn远程仓库)下载,jar包下载成功在私服、本地仓库分别存储一份。-DgroupId和-DartifactId:构成了该jar包在pom.xml的坐标,项目就是依靠这两个属性定位所在位置。Dfile:表示需要上传的jar包的绝对路径。

2024-06-12 12:57:23 926

原创 Redis 的三种集群模式

本文由转码, 原文地址。

2024-06-06 11:40:02 1186

原创 synchronized 和 ReentrantLock的区别

不管synchronized 和还是ReentrantLock 都是 Java 中的可重入锁,总体上的区别如下用法不同:synchronized 可以用来修饰普通方法、静态方法和代码块,而 ReentrantLock 只能用于代码块。获取锁和释放锁的机制不同:synchronized 是自动加锁和释放锁的,而 ReentrantLock 需要手动加锁和释放锁。锁类型不同:synchronized 是非公平锁,而 ReentrantLock 默认为非公平锁,也可以手动指定为公平锁。

2024-06-04 17:48:25 705

原创 发布 jar 包到 maven 中央仓库

目前开发基本都是以maven或者gradle的方式,直接引入依赖包即可,那么该咋那么发布我们自己的jar包到maven仓库,让别人使用呢?本文适用于2024.3之后的步骤。

2024-06-03 23:05:06 361

原创 日常开发踩坑

【代码】日常开发坑记录。

2024-06-03 15:00:33 97

原创 Springboot中使用spel+自定义注解实现权限控制

*** @author 蔡定努/*** permissionAll()-----只要配置了角色就可以访问* hasPermission("MENU.QUERY")-----有MENU.QUERY操作权限的角色可以访问* permitAll()-----放行所有请求* denyAll()-----只有超级管理员角色才可访问* hasAuth()-----只有登录后才可访问* hasTimeAuth(1,10)-----只有在1-10点间访问。

2024-06-02 01:00:50 246

原创 Spel表达式使用案例

【代码】Spel表达式使用案例。

2024-06-02 00:26:35 75

原创 使用Lua基本实现分布式锁并自动续期

分布式锁的成熟方案很多,比如redission、zookeeper……

2024-05-31 11:30:12 435

原创 使用Mysql作分布式锁

实现分布式锁的方式很多,比如redis、redission、zookeeper……,本文使用MYSQL,使用mysql作为分布式锁的介质,主要是围绕以下几个函数来使用的。

2024-05-27 17:09:39 490

原创 Springboot整合向量数据库Milvus

构建一个MilvusClient工厂类查询工具封装配置Range Search 范围查询Range Search 即范围搜索。不同于 KNN Search 返回最相似的 TOP-K 个结果,Range Search 会返回向量距离落于某一区间的 TOP-K 个结果。那么,何时选择 Range Search 而非 Top-K 搜索?Range Search 最典型的应用场景就是推荐系统。比如商品推荐,一个好的推荐系统,返回的应该是与用户点击的商品有一定相似度,但又不太相似的结果。太相似或太不相

2024-05-12 23:29:42 378 1

原创 使用docker安装向量数据库milvus

向量数据库是一种特殊的数据库,它以多维向量的形式保存信息。根据数据的复杂性和细节,每个向量的维数变化很大,从几个到几千个不等。这些数据可能包括文本、图像、音频和视频,使用各种过程(如机器学习模型、词嵌入或特征提取技术)将其转换为向量。矢量数据库的主要优点是它能够根据数据的矢量接近度或相似性快速准确地定位和检索数据。这允许基于语义或上下文相关性的搜索,而不是像传统数据库那样仅仅依赖于精确匹配或设置标准。推荐系统:向量数据库可以用于存储用户和物品的特征向量,以便实现个性化推荐。

2024-05-11 23:18:01 64

原创 docker安装向量数据库milvus

向量数据库是一种特殊的数据库,它以多维向量的形式保存信息。根据数据的复杂性和细节,每个向量的维数变化很大,从几个到几千个不等。这些数据可能包括文本、图像、音频和视频,使用各种过程(如机器学习模型、词嵌入或特征提取技术)将其转换为向量。矢量数据库的主要优点是它能够根据数据的矢量接近度或相似性快速准确地定位和检索数据。这允许基于语义或上下文相关性的搜索,而不是像传统数据库那样仅仅依赖于精确匹配或设置标准。推荐系统:向量数据库可以用于存储用户和物品的特征向量,以便实现个性化推荐。

2024-05-11 23:12:27 384

原创 SpringCloud中LoadBalancer负载均衡器配置

Loadbalance

2024-05-07 23:21:36 696

原创 使用YOURLS生成短链(统计点击数)

http://ip+端口/admin。

2024-04-26 17:58:59 261

原创 使用YOURLS生成短链(统计点击数)

http://ip+端口/admin。

2024-04-26 17:57:30 124 2

原创 Canal1.1.5整Springboot在MQ模式和TCP模式监听mysql

canal本实验使用的是1.1.5,自行决定版本:[https://github.com/alibaba/canal/releases]

2024-04-02 16:16:11 644

原创 redis根据key模糊删除

实际是查询出符合的key,变量删除。

2024-03-31 00:10:10 504

原创 docker 共享网络的方式实现容器互联

本文以nacos连接mysql为例前提已经在mysql容器中初始化好nacos数据库,库名nacos。

2024-03-31 00:03:44 835

原创 Mac 系统安装 Nginx

本文由转码, 原文地址。

2024-03-27 18:12:28 449

原创 Nacos-client 2.x 使用nginx配置

Nacos2.0版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成。

2024-03-27 18:04:33 519

原创 nacos 2.0 启动出现NacosException: Client not connected, current status:STARTING异常

详情阅读nacos官网Nacos 2.0.0 兼容性文档:https://nacos.io/zh-cn/docs/v2/upgrading/2.0.0-compatibility.html。Nacos2.0版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成。原因:1.x版本采用的是http方式,2.x 默认采用的是 grpc方式。docker 启动也需要暴露对应端口。

2024-03-26 14:44:47 1629

原创 M芯片Mac构建支持arm64的java8基础镜像

openjdk:8-jdk-alpine 没有安装bash,只安装sh,所以进入容器命令。以openjdk:8-jdk-alpine为基础镜像,添加bash。重新打的镜像即可使用以下命令进入容器。

2024-03-20 14:12:21 671

原创 mybatis中BaseTypeHandler的使用

自定义TypeHandler。

2023-11-05 11:37:04 292

原创 如何将普通队列异常消息路由到死信队列

在RabbitMQ中,我们经常需要处理异常消息,特别是当消息处理失败时。一个常见的用例是将异常消息路由到死信队列,以便稍后重新处理或进一步分析。在本篇博客中,我们将演示如何配置RabbitMQ和Spring Boot,以便将普通队列中的异常消息自动路由到死信队列。

2023-10-31 10:02:36 595

原创 LocalDateTime 接受前端参数

【代码】LocalDateTime 接受前端参数。

2023-10-18 16:48:53 1254

原创 logback-spring.xml 中根据不同的业务表示,分类打印到不同的文件夹、时区动态设置

我的是根据不同的appCode,打印不同的文件夹中,如果没有拿到appCode,就打印到default中。

2023-10-17 16:40:23 959 2

原创 MySQL中死锁

数据库的死锁是指不同的事务在获取资源时相互等待,导致无法继续执行的一种情况。当发生死锁时,数据库会自动中断其中一个事务,以解除死锁。在数据库中,事务可以分为读事务和写事务。读事务只需要获取读锁,而写事务需要获取写锁。当多个事务同时操作同一组数据时,可能会引发死锁的出现。

2023-10-13 12:00:23 294

原创 MDC方式实现简单链路追踪

MDC 方式实现日志链路追踪。

2023-10-07 15:48:26 180

sping-boot-shiro-jwt-redis-refreshtoken.zip

sping-boot-shiro-jwt-redis-refreshtoken,springboot整和shiro、jwt,自动刷新token

2020-08-25

spring-boot+tk.mybatis通用mapper

spring-boot+tk.mybatis通用mapper

2020-08-25

springboot整和jwt、shiro、redis实现token自动刷新

springboot整和jwt、shiro、redis实现token自动刷新

2020-08-19

mybatisplusPage.zip

MybatisPlus 多表关联查询带分页,单表,多表:注解方式,xml方式,provider方式。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2019-12-27

websocket.zip

websocket.zip

2019-12-02

shiro-demo使用redis做缓存.zip

shiro-demo使用redis做缓存.zip

2019-12-01

shiro-demo使用ehcache做缓存.zip

shiro-demo使用ehcache做缓存.zip

2019-12-01

shiro-demo不自定义缓存.zip

shiro-demo不自定义缓存,

2019-12-01

springboot整合shiro

springboot整合

2019-11-26

springboot整合JWT

springboot整合JWT

2019-11-26

centos系统springboot启动、重启、停止shell脚本

centos系统springboot启动、重启、停止shell脚本,centos系统springboot启动、重启、停止shell脚本

2019-11-23

springboot如何使用Freemarker模版引擎

springboot如何使用Freemarker模版引擎

2019-11-20

mybatisPlus.zip(3.X)

mybatisPlus.zip

2019-11-04

mybatisPlus_demo.zip

mybatisPlus_demomybatisPlus_demomybatisPlus_demomybatisPlus_demo

2019-11-01

databaseBackup.zip

数据库备份

2019-10-29

springboot整合websocket

springboot整合websocketspringboot整合websocketspringboot整合websocket

2019-10-16

Shiro-SpringBoot.整合

Shiro-SpringBoot.整合

2019-09-23

IDEA常用配置

IDEA常用配置

2019-09-18

java通过HTTP调用接口(Get请求和Post请求)

java通过HTTP调用接口(Get请求和Post请求)

2019-09-18

生成代码.zip

生成代码 zip

2019-09-15

整合canal监听mysql

使用开源框架springboot整合canal监听mysql数据变化,涵盖三种方式: main直接连接mysql监听,直接使用rabitmq监听,结合spring监听

2024-05-13

Springboot整合向量数据库Milvus

Springboot整合向量数据库Milvus实现增删改查

2024-05-12

springboot-quartz 单机demo,分布式下demo

springboot-quartz 单机demo, 分布式下,保证不重复执行

2022-02-27

vue-admin-template-master.zip

vue-admin-template-master.zip

2021-12-05

springCloudAlibaba的一个demo,包括注册中心,配置中心,服务熔断降级、链路追踪、seata分布式事务

本项目为学习springCloudAlibaba的一个demo,包括注册中心,配置中心,服务熔断降级、链路追踪、seata分布式事务

2021-10-02

springboot+JPA 多数据源配置

springboot+JPA 多数据源配置springboot+JPA 多数据源配置

2021-08-29

oneToMany-OneToOne-search.zip

oneToMany-OneToOne-search,xml方式、注解方式实现一对一查询、一对多查询,、注解方式实现一对一查询、一对多查询、注解方式实现一对一查询、一对多查询

2020-10-10

springboot-jackson-auto-transform-enum.zip

spring boot 中jackson自定义序列化和反序列化

2020-09-10

springboot-fastjson-auto-transform-enum.zip

springboot 使用fastjson自定义序列化和反序列化

2020-09-10

appname.sh

linux部署jar包的一个脚本,需要把里边的APP_NAME替换成你自己的jar包的路径,会在jar报统计目录生成控制台日志的日志文件,执行 sh appname.sh start/stop/restart

2020-07-18

dynamic-datasource-aop-loop.rar

dynamic-datasource-aop-loop.,springboot结合切面,加上自定义注解实现动态数据源切换,事务处理,循环遍历数据库文件

2020-07-10

dynamic-datasource-aop-copy

springboot结合自定义注解整合动态数据源实现通过注解切换,事务回滚springboot结合自定义注解整合动态数据源实现通过注解切换,事务回滚springboot结合自定义注解整合动态数据源实现通过注解切换,事务回滚

2020-07-09

quartz-springboot

quartz-springboot,quartz-springboot,springboot整合quartz实现对定时任务的增删改查

2020-05-16

springboot-RedisKeyExpirationListener.zip

springboot-RedisKeyExpirationListener,监听redis中的key失效,回调函数,springboot-RedisKeyExpirationListener

2020-05-02

elementui-admin 整合动态侧边栏和按钮权限控制

elementui-admin 整合动态侧边栏和按钮权限控制e

2020-04-29

vue-svg.zip

vue整合阿里素材图标svg格式demo

2020-04-25

springboot整合logback保存日志到文件

springboot整合logback保存日志到文件,日志持久化

2020-04-23

aop 权限验证demo

aop 权限验证

2020-02-27

mybatisplusPage.zip

mybatisplus自定义sqlmybatisplus自定义sqlmybatisplus自定义sqlmybatisplus自定义sql

2020-01-09

mybatisplusPage.rar

MybatisPlus 多表关联查询带分页,单表,多表:注解方式,xml方式,provider方式。

2019-12-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除