自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 如何制作rpm离线安装包

如何制作rpm离线安装包

2023-10-27 17:32:25 613

原创 ora-00001违反唯一约束

ora-00001违反唯一约束

2022-08-09 18:30:00 10612 1

原创 获取controller中所有接口路径和名称

获取controller中所有接口路径和名称

2022-07-29 18:01:55 3516

原创 redis反序列化异常(org.springframework.data.redis.serializer.SerializationException: Could not read )

set值的时候注入了redisTemplate,get值的时候不小心注入了RedisTemplate,导致反序列化时找不到对应类型。RedisTemplate改为RedisTemplate。由此可知Redis序列化异常,不能读取Json。可是redis是做了序列化配置的,这就很奇怪了。redis反序列化异常。...

2022-07-25 15:28:27 3255

原创 使用oap切面导致controller被重复调用

在自测的时候发现某个很奇怪的问题,某个变量本该加1的变成了加2,debug后发现所有controller都被调用了两次,里面的方法也执行了两次。可以看到execution表达式定义了所有controller包,及改包下所有类的所有方法,joinPoint.proceed()后面经过排查发现写切面的时候,在环绕通知里调用了两次joinPoint.proceed()joinPoint.proceed()执行目标方法目标方法。修改原逻辑只执行一次joinPoint.proceed()......

2022-07-25 15:27:00 774

原创 skywalking测试环境部署实战

skywalking测试环境部署实战

2022-07-13 19:49:46 2038

原创 HV000030: No validator could be found for constraint ‘javax.validation.constraints.NotBlank‘ validat

报错原因:枚举类型用了@NotBlank校验解决方法:用@NotNull@NotNull 和 @NotEmpty 和@NotBlank 区别@NotEmpty 用在集合类上面@NotBlank 用在String上面@NotNull 用在基本类型上

2022-06-16 20:45:00 1491

原创 Mybatis-plus 代码生成器新版(新版)包括自定义模板

Mybatis-plus 代码生成器新版

2022-06-09 13:58:46 2310 1

原创 Linux 定时备份mysql数据库

linux 定时备份mysql数据库

2022-06-09 09:25:39 3231 1

原创 Java递归生成多层级权限树工具类

标题递归生成一个权限树,可通过以下过程实现:1.首先从权限数据表中获取所有节点2.遍历所有节点,获取所有parentId为空的根节点3.为根节点建立次级子节点树并拼接上。3.通过递归为子节点建立次级子树并接上,直至为末端节点拼接上空的“树”。每条权限有自己的id、父节点parentId、权限名称name、权限还拥有次级权限children。/** * @author Liby * @date 2022-05-16 11:35 * @description:返回前端Dto * @ver

2022-05-19 00:41:05 677

原创 win 查找被占用端口进程并杀掉

win 查找被占用端口进程并杀掉C:\Users\pc>netstat -aon | findstr "18071" TCP 0.0.0.0:18071 0.0.0.0:0 LISTENING 17788 TCP [::]:18071 [::]:0 LISTENING 17788C:\Users\pc>tasklist | findstr "177

2022-05-18 18:30:22 178

原创 如何在rabbitmq中实现一个生产者,多个消费者,多个消费者都能收到同一条消息

如何在rabbitmq中实现一个生产者,多个消费者,多个消费者都能收到同一条消息场景:用户登录,邀请其它用户进行视频会议,收到邀请的用户进入会议rabbitmq实现思路:选型:发布订阅模式(Publish/Subscribe)一个生产者,多个消费者,每一个消费者都有自己的一个队列,生产者没有将消息直接发送到队列,而是发送到了交换机,每个队列绑定交换机,生产者发送的消息经过交换机,到达队列,实现一个消息被多个消费者获取的目的。这种情况下,我们有四种交换机可供选择,分别是:Direct

2022-05-06 18:27:52 13364 5

原创 docker 一键部署脚本

docker 一键部署脚本#! /bin/bash# 1. 如果已经安装了docker,卸载旧版本yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate

2022-04-29 15:59:36 853

原创 springboot整合WebSocket

springboot整合WebSocketWebSocket通信过程客户端构建一个websocket实例,并且为它绑定一个需要连接到的服务器地址,当客户端连接服务端的候,会向服务端发送一个http get报文,告诉服务端需要将通信协议切换到websocket,服务端收到http请求后将通信协议切换到websocket,同时发给客户端一个响应报文,返回的状态码为101,表示同意客户端协议转请求,并转换为websocket协议。以上过程都是利用http通信完成的,称之为websocket协议握手(webs

2022-04-27 16:53:04 19720 6

原创 fastJson使用JSON.toJSONString将java对象转换为json字符串为空

fastJsion使用JSON.toJSONString将java对象转换为json字符串为空代码如下: public static String wsMessage(Integer type, Object message) { MessageModel messageModel = new MessageModel(type, message); return JSON.toJSONString(messageModel); }转换出来的json字符串w

2022-04-27 15:35:06 2177 1

原创 kafka集群部署

kafka集群部署一、环境规划组成安装节点版本java1.8192.168.15.139 192.168.8.135 192.168.8.1361.8.0_212kafka192.168.15.139 192.168.8.135 192.168.8.1363.1.0zookeeper192.168.15.139 192.168.8.135 192.168.8.1363.1.0kafka自带efak-web19

2022-04-20 08:40:06 1932

原创 kubeadm快速搭建k8s集群(单master节点)

kubeadm快速搭建k8s集群(单master节点)一、集群部署前规划主机操作系统IPdocker版本k8s版本k8s-master1Centos7.9192.168.15.13920.10.121.23.4-0k8s-node1Centos7.9192.168.8.13520.10.121.23.4-0k8s-node2Centos7.9192.168.8.13620.10.121.23.4-0二、主要步骤节点准备工作(所有节点

2022-04-12 20:01:04 3039

原创 JPA query 报No entity found for query 异常

问题描述:javax.persistence.NoResultException: No entity found for querygetSingleResult的源码有一句: @throws EntityNotFoundException if there is no result使用getSingleResult()方法时,查询没有结果,它是抛异常的,不会返回null.,致报错。解决办法:使用try catch捕获NoResultException异常即可。return (BaseRole

2022-03-28 15:17:47 976

原创 安装calico网络插件后K8s集群节点间通信找不到主机路由(no route to host)

安装calico网络插件后K8s集群节点间通信找不到主机路由(no route to host)背景:k8s安装calico网络插件后master节点ping不通其它node节点,但可以ping通外网,同时calico有一个pod启动异常,日志报错信息calico/node is not ready: BIRD is not ready: BGP not established with 192.168.8.xxx,192.168.8.xxx[root@master1 ~]# ping 192.168.

2022-03-18 16:06:47 6202

原创 k8s存储类(storageclass)动态创建pv失败

k8s存储类(storageclass)动态创建pv失败背景:安装kubesphere后发现prometheus的pod创建一直有问题kubectl get pod -n kubesphere-monitoring-system.......prometheus-k8s-0 0/2 Pending 0 3h47mprometheus-k8s-1

2022-03-18 11:18:35 2126

原创 k8s强制删除Terminating 状态命名空间失败

k8s删除命名空间出现The resource may continue to run on the cluster indefinitelykubesphere-monitoring-federated Terminating 7h28m并且用 kubectl delete nskubesphere-monitoring-federated --force --grace-period=0也无法删除时 kubectl edit ns kubesphere-monitoring-feder

2022-03-17 18:09:34 553

原创 Loki Http API 使用

Loki Http API 使用一、查询日志流1. 查询某个时间点日志GET /loki/api/v1/query示例:http://192.168.15.139:30100/loki/api/v1/query?direction=BACKWARD&limit=1000&query=sum(rate({job="anychatlog"}[2d]))返回:{“status”: “success”,“data”: {​ “resultType”: “vector”,

2022-03-16 09:53:57 7856

原创 基于rancher搭建k8s容器管理平台

基于rancher搭建k8s容器管理平台规划:服务器描述内容192.168.15.139master1节点etcd/Control /worker/rancher192.168.8.142node1节点worker、etcd192.168.8.141node2节点worker192.168.15.56node3节点worker、etcd1.rancher安装mkdir -p /usr/rancherdocker run -d --pri

2022-03-15 16:21:21 2698

原创 loki删除日志

grafana+loki+promtail其它问题一、grafana数据持久化1.配置文件模板路径/etc/grafana/grafana.ini2.生效配置文件路径/usr/share/grafana/conf/default.ini3.数据存放路径/var/lib/grafana二、设置浏览权限可编辑在配置文件中找到[users] 配置块进入配置文件将viewers_can_edit设置为true三、开启viewer角色匿名登录在配置文件中找到[auth...

2022-01-05 17:46:32 8505 7

原创 invalid argument “userService“ for “-t, --tag“ flag: invalid reference format: repository name must

invalid argument “userService” for “-t, --tag” flag: invalid reference format: repository name must be lowercase语法错误:镜像名不能大写

2021-11-26 15:47:08 997

原创 docker 搭建grafana+loki+promtail日志监控、prometheus主机监控、skaywalking链路追踪

一、日志监控PLG日志系统组成promtail:负责收集日志并将其发送给Lokiloki:主服务器,服务存储日志和处理查询Grafana:用于查询和现实日志1.前期准备创建目录mkdir -p /usr/dz/monitor/cd /usr/dz/monitor/拉取镜像docker pull grafana/grafanadocker pull grafana/promtaildocker pull grafana/loki:2.0.1拉取promtail

2021-11-14 22:39:33 6487

原创 docker搭建 grafana+promtail+loki日志平台

docker搭建 grafana+promtail+loki日志平台PLG日志系统组成promtail:负责收集日志并将其发送给Lokiloki:主服务器,服务存储日志和处理查询Grafana:用于查询和现实日志1.拉取镜像docker pull grafana/grafanadocker pull grafana/promtaildocker pull grafana/loki2.拉取promtail和loki配置文件wget --no-check-certificate

2021-11-04 18:25:58 2887 2

原创 Java计算时间差工具类

Java计算时间差工具类package com.bairui.util;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/** * @author Liby * @date 2021-11-03 15:10 * @description:时间差工具类 * @version: */public class TimeUtil { public sta

2021-11-03 16:50:48 611

原创 refreshToken刷新token后会变化的原因以及refreshToken的复用

refreshToken刷新token后会变化的原因以及refreshToken的复用两次使用refreshToken刷新token返回的refreshToken如下:将两次返回的refreshToken解密后可以看到。处理ati不一样,其它参数都是一样的ati(access token):新的访问令牌的idjti : refreshToken 的id既然刷出了新的token,那么ati肯定变了,那么由这些信息加密成的refreshToken自然也是一直变化的那么如果想无限制刷新refres

2021-10-25 15:36:55 6336

原创 springboot使用pagehelper分页插件

springboot使用pagehelper分页插件pom文件添加依赖 <!-- 分页启动器 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> &lt

2021-10-20 15:15:24 318

原创 初入职场:SpringBoot项目Maven打包时将依赖包和配置文件分离

SpingBoot 直接用package打包时会把源码、依赖包以及配置文件打包jar包,jar包文件要是大的话上传部署到服务器时就很难受,特别是一修改代码又要上传一次,如果打包时把jar包、依赖包和配置文件分离,只修改了代码的话只需要重新上传源码打包成的jar就行

2021-09-27 18:20:22 842

原创 异常:谷歌浏览器video标签播放视频不能拖动进度条

谷歌浏览器video标签播放视频不能拖动进度条/** * @Description: 文件下载:以流的方式 * @Date: 2021/8/24 */ public static String downloadFile(String filePath, HttpServletRequest request, HttpServletResponse response) { logger.info("传入路径参数" + filePath);

2021-09-24 18:09:44 6633 1

原创 踩坑记录: ! [remote rejected] head -> refs/for/master (change 19215 closed) error: failed to push some r

踩坑记录: ! [remote rejected] head -> refs/for/master (change 19215 closed)error: failed to push some refs to ‘ssh://gitdev.bairuitech.cn:29418/AnyChatBaseFrame’今天用git提交代码,push时遇到了这个问题,试了很多方法,最后下面这个方法解决了问题1.git commit --amend2.把Change-Id 删除3.再次提交问题解决

2021-08-30 16:33:32 9030

原创 踩坑记录:spring data jpa 循环save后只保存了一条数据

踩坑记录:spring data jpa 循环save后只保存了一条数据可以看到,循环save()后,返回的都是同一条数据,id都是129,最后数据库也只插入了同一条数据后面发现了原因,实体类创建时是在循环外部,导致每次save实际上都是对同一个对象操作我把实体类创建丢进循环里,问题解决原代码 FileEntity fileEntity = new FileEntity(); for (String url : fileUrlList) {

2021-08-29 08:56:22 1645

原创 使用spring Jpa异常:Operator SIMPLE_PROPERTY on fileId requires a scalar argument

使用spring Jpa异常:Operator SIMPLE_PROPERTY on fileId requires a scalar argument刚接触sping Jpa,今天在项目中遇到了个问题,往里面传集合类型参数时会报错,后面去看了官方文档才发现传集合类型参数要用In没加In报错 List<FileEntity> findAllByFileId(List<String> fileId);加上In问题解决List<FileEntity> fin

2021-08-28 17:49:40 1157

原创 初入职场:spring data Jap save()返回实体Id为0的解决办法

初入职场:spring data Jap save()返回实体Id为0的解决办法saveFile()是我自定义的save(),我希望调用后返回的是插入到数据库的数据,却发现返回的其它数据正常,id为0//文件上传 @RequestMapping("/upload") public FileResult upload(MultipartFile file) { FileEntity fileMsg = FileUtil.uploadFile(file, savePath);

2021-08-18 09:51:14 698 2

原创 初入职场:spring data jpa 时间自动填充(超简单)

spring data jpa 时间自动填充(超简单)spring data jpa 时间自动填充实现步骤:1.启动类添加@EnableJpaAuditing注解 //启动jpa审计(默认填充)2.实体类添加@EntityListeners(AuditingEntityListener.class)注解3.实体类createTime变量上添加 @CreatedDate注解4. @JsonFormat格式化时间,看个人需求,按我的格式用后数据库插入时间格式为:(2021-08-17 21:14:20

2021-08-17 21:27:04 1499

原创 初入职场:Java统一返回结果

在公司里开发java项目,会将响应封装成json返回,一般我们会将所有接口的数据格式统一,比如:{“success”: true,“code”: 20000,“message”: “成功”,“data”: “D:/uploadFile/20210816215037869_10587_常用命令.txt”}接下来我会以初入职场的小菜鸟的角度来实现:1.定义枚举类,把常用状态枚举出来,定义构造函数,实现geter方法import lombok.Getter;@Getterpublic en

2021-08-16 22:54:53 518

原创 文件上传与下载的工具类封装

1.文件上传 /*文件上传*/ public static String uploadFile(MultipartFile file, String savePath) { FileOutputStream out = null; logger.info(savePath); try { File uploadPath = new File(savePath); if (!uploadPath.

2021-08-16 22:16:59 271 1

原创 Screw数据库表结构文档生成工具

Screw(螺丝钉)是一款简洁好用的数据库表结构文档生成工具,支持maven 插件生成和代码生成了,支持MD、WORD、HTML三种格式文档Screw最新依赖地址https://mvnrepository.com/artifact/cn.smallbun.screw/screw-core生成效果图代码生成使用教程:1.导入数据库依赖 org.springframework.boot spring-boot-starter-jdbc

2021-08-12 11:13:10 575

空空如也

空空如也

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

TA关注的人

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