自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

谦竹墨客

每一份努力都源于对生活的热爱

  • 博客(12)
  • 收藏
  • 关注

原创 SpringCloud nacos1.4.1版本升级开启登录认证踩坑

SpringCloud nacos1.4.1开启登录认证踩坑环境:SpringCloud Greenwich.SR4SpringBoot 2.1.1.RELEASEspring-cloud-starter-alibaba-nacos-discovery 2.1.1.RELEASENacos服务端版本:1.4.1背景:Nacos鉴权漏洞修复,nacos服务端版本升级到1.4.1的版本后,开启登录认证后,服务启动过程中,读取配置中心和注册时,都会报unknown user!的错误...

2021-02-24 09:39:52 6820 6

原创 SpringCloud学习:Gateway+Swagger2配置使用说明手册

Gateway+Swagger2配置使用说明手册gateway IP与Port地址:http://IP:Port/swagger-ui.html效果如下图:可以通过右上角下拉,选择不同的服务,Swagger2还有一个功能就是支持页面直接调用调试,详细配置如下:1.pom依赖引入gateway中引入<!-- swagger2 restful接口文档在线自动生成+功能测试 --> <dependency> <groupId>io.springfox&

2021-01-26 14:36:44 2599 4

原创 springboot 整合druid数据库密码加密

springboot 整合druid数据库密码加密1.依赖引入<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.21</version></dependency>2.密码加密处理public static void main(Str

2021-01-04 17:38:59 656 3

原创 redis连接池:连接异常处理机制实现

连接池异常处理机制背景:redis哨兵连接池,redis服务器全部宕机结果:如果请求还是继续调用redis,则每个请求都会等待超时,高并发情况下容易造成线程阻塞解决思路:加开关,获取连接异常时,关闭开关,并启动异步线程,尝试重新获取连接1.Redis管理类public class RedisManager { /** * redis连接异常 * redis使用过程中,如遇连接异常,则将该值改为true,在重新建立连接成功前,不再提供redis服务 */ private stat

2020-10-16 14:50:41 880 6

原创 redis哨兵(sentinel)模式完整配置详解

redis 3.2.8 哨兵模式搭建之前搭建redis哨兵模式的时候整理的文档,写出来与大家一起分享一下,之前用的版本比较低,仅供参考,如有错误之处,欢迎大家批评指正一主两从,三哨兵,实现两个节点宕机下的redis服务可用192.168.1.1 主节点 哨兵192.168.1.2 从节点 哨兵192.168.1.3 从节点 哨兵1.主从配置(1)redis主节点配置安装目录下redis.conf#监听地址,指定本机IPbind 192.168.1

2020-09-28 09:56:43 7707

原创 Springboot学习:整合log4j2打印System.out日志

Springboot整合log4j2打印System.out日志记一次开发踩坑,springboot整合log4j2的过程中,try catch 捕获异常后,Exception.printStackTrace()方法却没有将错误日志打印到日志文件中,通过阅读源码发现,printStackTrace使用的是System.err进行日志打印,所以采用下面的办法进行处理,自定义PrintStream1、继承PrintStream父类,并重写print这一类方法,使用log输出。public class Lo

2020-09-08 16:19:04 2506 1

转载 让多线程按顺序执行的几种方法

让多线程按顺序执行的几种方法转载:原文文链接:https://blog.csdn.net/jqc874789596/article/details/100557300文章介绍4种方法,简单易懂,通过4个demo抛砖引玉。目录在子线程中通过join()方法指定顺序在主线程中通过join()方法指定顺序通过倒数计时器CountDownLatch实现通过创建单一化线程池newSingleThreadExecutor()实现在子线程中通过join()方法指定顺序通过join()方法使当前线程“阻塞

2021-01-11 14:33:46 1147

原创 java反射实现自定义json转对象方法-忽略字段大小写、字段个数

自定义json转对象方法-忽略字段大小写开发过程中经常会遇到json转对象,可以使用FastJson或者Gson自带的工具类进行转换,但当遇到json与对象属性名称大小写不一致时,就需要我们自己处理,很早之前写了一个利用反射来实现忽略字段名称大小写 /** * 对于对象属性与json字段名称大小写不一致时,进行对象的赋值 * @param json json字符串 * @param obj 需要转换的对象 * @return */ public static Object j

2020-09-18 11:31:12 3747 1

原创 java对象间值传递

java对象间值传递java开发过程中,经常会用到将对象a的属性值赋值到对象b,如果用get/set方法,开发工作量大且方法复用性低,java 反射却可以很轻松的解决这个问题,下面是具体实现 /** * 把对象b的值赋给对象a * * @param a Object * @param b Object * @return Object */ public static Object transFields(Object a, Object b) { Class c1

2020-09-16 08:38:19 521 2

原创 Springboot学习:提取公共模块配置文件

Springboot提取公共模块配置文件记录一次公共配置的提取,后续有更好的实现再优化,欢迎大家一起讨论指正。springboot开发过程中,有一部分配置可能会重复出现在各个子模块中,例如注册中心、redis、数据库连接池等配置,那么怎么样才能将重复的部分提取公共配置呢?并且引用公共配置后,还可以实现每个微服务的个性化配置?下面是我的实现方式。1、提取公共模块,每个微服务中进行引入该模块,在该模块下,新增配置文件2、引入公共模块后,微服务自己的配置中新增以下配置:spring: pro

2020-09-15 17:19:45 2932

原创 记一次运维问题-Linux删除文件后,磁盘空间不释放

记一次运维问题-Linux删除文件后,磁盘空间不释放前端时间由于开发失误,导致生产环境出现一个比较严重的问题,开发同事log4j日志文件配置失误,导致日志文件不断积累,没有每天打包清空,导致出现一个500G的大文件,服务器磁盘空间即将占满,由于服务的特殊性,没法进行重启,第一反应是删除日志,可是日志删除后,磁盘空间并没有释放,原来Linux服务器文件被进程锁定后,删除文件并不会立即释放磁盘空间,必须等进程结束后才可以释放,正确的解决办法应该是对文件进行写空操作:echo " " >/tmp/aces

2020-09-08 17:06:59 315

原创 springboot学习:整合log4j2自定义日志文件名

springboot整合log4j2自定义日志文件名前端时间升级框架的时候,将logback调整为log4j2的时候,发现log4j2配置文件没法使用Springboot的配置文件,究其原因,发现log4j2加载配置文件早于Springboot配置文件的加载,通过阅读log4j2中文文档发现,可以采用系统变量的方式,以服务名来命名日志文件1、自定义SpringApplicationBuilder启动类public class MyBuilder{ /** * 自定义启动方法,用户新增系统属性

2020-09-08 16:49:32 1447 1

空空如也

空空如也

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

TA关注的人

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