- 博客(45)
- 收藏
- 关注

原创 Spring Cloud - Netflix Zuul 源码阅读记录
Zuul 是 Spring Cloud 集成 Netflix-Zuul 的一个微服务网关.Zuul 中集成了NetFlix的Ribbon负载Zuul 核心 ZuulFilter,通过Zuul底层利用各种Filter可以实现不同的需求,也可自定义实现.Spring官网Zuul文档:https://docs.spring.io/spring-cloud-netflix/docs/2.2.6.RELEASE/reference/html/#router-and-filter-zuul主要功能认证和安
2021-02-04 20:50:49
206
3

原创 Apache-poi SXSSFWorkbook 流处理
在POI导出的时候我们需要根据不同的excel版本,以及预计最大数据量来选择相应的POI工具类.
2021-01-06 20:58:25
7079
原创 使用Flv.js无法播放视频
由于项目需要,搭建了一套SRS直播服务,通过直播录制将视频报错并在本地播放。视频存储的格式为flv,所以使用flv.js插件来播放。测试时发现录制的视频无法播放,经过排查找到原因。控制台并无明显报错,只是flv.js在控制台疯狂打印日志。尝试设置hasAudio参数为false,视频播放成功。排查相关问题耗时1天,踩坑记录!
2024-08-15 23:02:04
750
2
原创 Nacos提权漏洞修复
Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。若您Nacos未修改 secret.key,则攻击者可利用默认secret.key生成JWT Token,从而造成权限绕过访问到相关API接口。Nacos 官方于 2023年3月2日发布 2.2.0.1 版本。
2023-03-26 00:15:26
3054
原创 Java Copy文件夹及子文件
//copy directory and files public static void copyDir(String oldPath,String newPath) throws Exception{ File src = new File(oldPath); File tar = new File(newPath); File[] fs = src.listFiles(); //create target directory
2022-03-20 20:05:26
364
原创 Docker/Podman 镜像备份/恢复
每一次更新生产服务时,避免上线的服务出现问题,以及时回滚。需要将容器映射Jar备份,以及容器镜像做备份。这里用的是podman命令。docker一样先查看原始镜像[root@iZuf67it1dzldnb7yt0gubZ data]# podman images REPOSITORY TAG IMAGE ID CREATED SIZElocalhost/love-you-gateway 0.0.1
2022-03-06 21:11:49
1287
原创 Docker 替换容器中的Jar
之前项目构建Docker容器部署时每次代码更新都要重新构建一次镜像,导致Docker images -a 时候会有很多none的镜像。记录一下Docker中替换jar,不用重新构建。只需要重新启动容器就可以完成项目代码的更新。首次部署Docker时需要构建镜像。DockerfileFROM openjdk:8u265-jdkRUN echo "Asia/Shanghai" > /etc/timezoneRUN mkdir /demo/EXPOSE 9004CMD ["nohup","j
2022-02-27 22:40:58
5214
原创 Jenkins SSH执行Shell 后返回成功 但是Shell并未执行完
Jenkins 执行远程服务器上的Shell脚本,返回成功 但是脚本中有些内容并未执行首先将SSH配置未控制台打印,不然只是返回成功,但是并不知道出现问题的具体原因。可以看到控制台输出执行Shell的错误npm: command not found由于Jenkins服务器资源有限,所以只是将Jenkins作为触发Shell脚本的一个工具,并没有在Jenkins服务器上执行构建操作。之前在目标服务器执行,配有node环境环境变量的。所以并无此问题。Jenkins执行时会在Jenkins配置中找所
2021-12-29 22:47:57
2517
原创 Vue 单选框回显问题
遇到一个Vue radio回显问题,记录。单选框再Form表单中,直接给整个Form赋值返回的单选框的值也是有的,但是无法回显。需要将数值类型转为String类型回显效果
2021-12-27 20:15:54
2343
原创 Docker 构建本地容器后拉取镜像错误
在服务器上构建Docker镜像后 Docker Run 命令运行本地镜像报错如下`Error: Error initializing source docker://localhost/image_name:latest: error pinging docker registry localhost: Get "https://localhost/v2/": dial tcp [::1]:443: connect: connection ref`used运行docker命令docker run
2021-12-13 20:42:55
5225
原创 Jenkins 通过SSH将文件发送到远程服务器
在使用CI时,一般Jenkins是独立部署的构建服务器。项目服务器是分配的其他独立的服务器。所以就需要Jenkins将项目成功构建后将构建好的文件发送的对应的远程主键。1.在Jenkins插件管理中安装SSH插件2.系统配置中配置SSH参数在SSH高级设置里可以选择使用SSH key或直接使用密码,这里我使用的是密码。配置完成后点击Test,出现Success表示测试连接成功3.项目配置SSHName是拉下框,选择我们在系统配置中配置的SSH ServerTransfers 是传
2021-12-12 20:26:24
6412
原创 Docsify 搭建文档站点
官方文档:https://docsify.js.org/docsify部署前提: 服务器需要node环境,node -version查看. 没有需要安装全局安装命令npm i docsify-cli -g初始化docsify init ./docs目录文件如下 - index.html作为入口文件 - README.md作为主页 - . nojekyll防止GitHub Pages忽略以下划线开头的文件后台运行docsify serve docs &生成侧
2021-09-14 21:36:09
681
原创 动态数据源解析 Spring AOP事务
未来项目规划要为每一个企业创建单独的数据库,所以近期在研究Spring事务对于不同数据源的事务的管理,或者说怎么才能在动态切换数据源的情况下事务对每个数据源都会生效.我们知道Spring AOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式.事务ACID特性:原子性 (atomicity): 强调事务的不可分割.一致性 (consistency):事务的执行的前后数据的完整性保持一致.隔离性 (isolation): 一个事务执行的过程中,不应该受到其他事务
2021-08-05 23:40:58
405
原创 Boolean.True.equals() 使用场景
平常我们使用都是普通的boolean类型,value只有两种情况,true或false,这样直接使用是没有什么问题的.但是如果使用boolean的包装类Boolean,value就会有三个值.Boolean可以为null如果需要用一个方法返回的结果是Boolean并且有可能为null值,那么就需要使用Boolean.True.equals() 进行判断.案例演示控制台输出很基础的问题,记录....
2021-08-03 21:13:05
6274
1
原创 Mybatis 返回ResutType 类型对应失败错误记录
记录一下Myabtis使用不规范,踩的坑.<select id="test" resultType="com.demo.testDTO"> SELECT t.id as id, t.name as name, t.phone as phone FROM test t</select>一个简单的SQL,使用Myabtis框架,返回的是resultType.这里不
2021-06-02 00:14:38
262
原创 Semaphroe 源码浅解
Semaphore是java.util.concurrent下的一个线程同步辅助类.可以维护当前访问自身线程的个数,并提供了同步机制.Semaphore主要方法: void acquire():从此信号量获取一个许可,在提供一个许可前一直将线程阻塞,否则线程被中断。 void release():释放一个许可,将其返回给信号量。Semaphore通过内部类Sync控制状态的更改,Sync继承了AQS,使用阻塞队列中的节点及state控制线程的并发./** * Synchronizati
2021-05-21 23:00:00
269
原创 设计模式(三) - 适配器模式
我们在酒店里想给手机充电,我们手机充电器是110W的,但是酒店的电压是220W.这时就需要一个适配器,将电压转为适合我们手机的.适配器模式定义:适配器模式是一种结构型设计模式。适配器模式的思想是:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作适配器模式涉及3个角色:源(Adaptee):需要被适配的对象或类型,相当于插头。适配器(Adapter):连接目标和源的中间对象,相当于插头转换器。目标(Target):期待得到的目标,相当于插
2021-04-21 21:30:52
217
1
原创 Sax解析大数据Excel
public class ExcelParserUtil { // 表格默认处理器 private ISheetContentHandler contentHandler = new DefaultSheetHandler(); // 存放数据 String[]是row的数据 private List<String[]> datas = new ArrayList<String[]>(); /** * 默认为转换第一个表格
2021-04-15 22:42:26
369
原创 SpringBoot项目启动 Maven构建 - 找不到主清单
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions>
2021-04-01 21:20:38
135
原创 设计模式(二) - 观察者模式之Spring事件监听机制
ApplicationEvent,ApplicationListener,ApplicationEventPublisher是Spring为我们我们提供的一个事件监听 订阅的实现,内部实现原理是观察者设计模式.设计初衷也是为了系统业务逻辑之间的解耦,提高可扩展性以及可维护性.事件发布者并不需要考虑谁去监听,监听具体的实现内容是什么,发布者的工作只是发布事件.maven依赖 <dependency> <groupId>org.springframework</gr
2021-03-31 23:20:43
279
原创 设计模式(二) - 观察者模式
观察者模式:定义了对象之前的一对多依赖.这样一来,当一个对象改变状态的时候,它的所有监听者都可以收到通知并自动更新.观察者模式通常定义为主题(Subject)和观察者(Observer),一个主题可以对应多个观察者.观察者依赖于某个主题.当主题有变化时订阅的观察者会根据新值来更新状态.在日常生活中,会看到有些爱好阅读的读者会订阅某家报社的报纸.在这里报社就是主题,而读者则是观察者.代码来模拟读者订阅报社,报社有新报纸读者就会更新.先创建Subject接口,用于以后主题的扩展.public int
2021-03-30 23:06:50
107
原创 设计模式(一) - 策略模式
策略模式:定义了算法族,分别封装起来.让它们之间可以互相替换.此模式让算法的变化独立于使用算法的客户.小黄鸭 ~ 小木鸭 ~ 机械鸭 ~ 北京烤鸭 ~都是鸭子的种类,有的会飞,有的不会飞,有的吱吱叫,有的呱呱叫,有的不会叫~但是他们都是属于鸭科,都有某些相同的行为.通过简单的代码来模拟实现各种鸭子.首先抽象出鸭子的父类public abstract class Duck { /** * 飞的行为 */ Fly fly; /** * 叫的行为
2021-03-29 23:47:40
112
原创 踩坑记录 - Map放入Redis后取不到值
使用的是Spring的RedisTemplate存储为Redis的Hash类型取值时控制台输出存Redis时是Map<Integer, Object>类型,key是Integer从Reids取时,key转为了String类型所以又用String类型的key来取控制台可以正确输出很明显是Redis序列化问题public class RedisConfiguration { @Bean public RedisTemplate<String, Obj
2021-03-11 22:37:37
1599
原创 EasyExcel 解析多个Excel 存入数据库
引入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.1.2-beta5</version> </dependency>EasyExcel解析Excel有同步和异步两种方式,这里只说异
2021-03-11 21:08:08
621
1
原创 SpringCloud Gateway Filter 初识记录
SpringCloud早期整合的Netfix的Zuul用作网关,是Zuul 1.0版本.但是Zuul2.0并为整合进来,Cloud开发了Gateway替代Zuul作为Cloud网关的组件.Gateway Filter 简单使用引入Maven依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway&
2021-02-25 22:03:57
200
2
原创 验证码-图形验证码工具类
记录,备用 /** * 已有验证码,生成验证码图片 * * @param textCode 文本验证码 * @param width 图片宽度 * @param height 图片高度 * @param interLine 图片中干扰线的条数 * @param randomLocation 每个字符的高低位置是否随机 * @param backColor 图片颜
2021-02-04 20:59:04
166
原创 SpringBoot整合TkMapper配置多数据源的坑
项目中用的是TkMapper,业务变动需配置多数据源.同样配置MapperScan扫描按照之前的惯例配置多个Datasource,测试时报错bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table 'mysql.sys_config' doesn't exist] with root cause报错信息显示该表不存在,但是表确实是在库里但是不是在@Primary默认的数据源里,而是在另外一个.
2021-01-13 21:14:51
939
原创 使用Jenkins构建Springboot项目 放入Docker容器
安装 Jenkins可以直接下载Jenkins包放入服务器解压.我是使用docker pull的Jenkins镜像.遇到问题: 直接解压使用Jenkins.war问题: 直接下载Jenkins版本不能过低,否则稍后在Jenkins安装插件可能会安装失败 Docker中直接拉取Jenkins问题: 因为Jenkins构建项目需要配置Git,Java,Maven等环境,因为Docker容器都是类似于沙箱隔离的,所以服务器上的一些Java,Mavne环境会读取不到,可以在启用Jenkins容器时
2020-11-03 23:09:32
521
2
原创 List任意泛型转Map工具类
List转Map任意类型KV,自定义key规则工具类public static <K, V> Map<K, V> list2Map3(List<V> list, String keyMethodName,Class<V> c) { Map<K, V> map = new HashMap<K, V>(); if (list != null) { try { Method metho
2020-09-22 23:03:35
563
原创 switch case中使用枚举类的坑
查看项目运行日志,发现项目中有报错:Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: com/xxx/xxxController$1首先看到这个ERROR,可以肯定是某个类找不到.是不是和ClassNotFoundException有点相像呢!!!我也是问了度娘才知道:NoClassDefFoundError和ClassNotFoundException区别:1. Error一般可以理解为指系
2020-07-23 20:55:55
5543
1
原创 excel读写/导入mysql数据库
前言:这两天再做一个excel导入导出的功能,数据量为15W条,导入mysql数据库.之前很久写过但是有些遗忘,在此记录以备不时之需.现在流程的导入excel插件有很多,jxl,jxls,poi,阿里的esayexcel,项目中是综合使用 ,本人比较青睐esayexcel,因为在特定情况下是非常方便的.poi工具类pom依赖注意:无论使用什么版本 版本号必须要一致,不然在导入过程中或抛出类中方法找不到异常<dependency> <groupId>org.apach
2020-05-21 22:26:49
525
原创 PBE加密算法:PBEWITHMD5andDES
最近感觉没有什么要写的,因为太空虚…可能是因为刚进入一份工作,哪哪的都不适应,也可能因为团队中都是大佬,压力山大…但是还是要不断努力!!这两天项目中要做一些数据加密处理,发现一种之前没有用过的算法PBEWITHMD5andDES,只是简单了解,方便复习,简述一下.PBE(Password Based Encryption,基于口令加密)算法是一种基于口令的加密算法,其特点在于口令是由用户自己掌握的,采用随机数杂凑多重加密等方法保证数据的安全性, PBE算法没有密钥的概念,密钥在其它对称加密算法中是经过算
2020-05-09 19:13:13
11435
1
原创 Java值传递和引用传递的理解
值传递:就是将变量的值的拷贝以形参的方式传递.改变的只是变量的副本.本质不变.引用传递:引用传递严格来说也是值传递,是将变量在内存中的引用拷贝进行传递.之所以会改变是因为变量的引用是相同的.值传递例子/** * 值传递就是传递变量的副本(拷贝),所以不论副本怎变,变量原本是不会改变的 * 例子: * 去饭店吃饭,有一盘做好的...
2020-01-08 11:11:50
169
原创 webService导入CXF依赖报错
最近在学习webService,因为没有完整的pom依赖,所以只能自己找.运行报如下错.Exception in thread "main" java.lang.NoSuchFieldError: REFLECTION at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.<init>(RuntimeModelBuilder.j...
2020-01-05 14:02:45
875
原创 java基本线程池+手动创建线程池简单代码
import com.google.common.util.concurrent.ThreadFactoryBuilder;import java.util.concurrent.*;/** * @Description * @Author * @Date * */public class CachedThreadPoolDemo { private stat...
2019-12-31 00:08:58
888
1
原创 SpringCloud 整合JPA Feign远程调用报415 Unsupported Media Type
今天写cloud整合jpa feign来负载均衡.但是从消费者通过feign来用生产者接口时,突然报了一个415 ERROR 41780 --- [nio-6001-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context...
2019-11-25 20:22:21
6603
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人