自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 浏览器拉取nacos的配置文件

微服务报错,显示no server avlible,就是连接到nacos,所以用浏览器拉一下配置文件。

2023-12-18 15:49:03 197

原创 Java系统如何备份数据库

最近项目中,专家提了几个问题,其实包括系统数据如何备份。我们答使用navicat来备份,他摇摇头,表示需要在系统中有备份功能。

2023-12-11 10:25:49 635

原创 SSE接口的几种实现方式

我会在本章介绍SSE接口的几种实现方式,包括webflux和spring mvc,以及使用几种方法调用sse接口的方法。

2023-12-01 17:17:56 2763

原创 Springboot集成neo4j实现知识图谱关系图

使用neo4j来完成人员关系公司项目有一个功能需要将各个人员关系列出,在参加评选的时候,进行展示和筛选。

2023-04-11 11:58:38 3829 4

原创 java使用tesseract-ocr进行文字识别

查找到使用java也能连接的OCR开源项目进行识别的学习。使用tesseract-ocr

2023-02-23 15:29:27 8631 2

原创 Springboot配置文件加密

对服务器的中间件进行保护设置,在配置文件中尽量不要暴露出来服务器件的密码账号。需要对配置文件进行加密处理。

2022-12-02 14:45:48 922

原创 Springboot项目如何加密返回值和请求参数

请求参数和返回值加密。今天简单的记录查看该依赖的源码,发现,只有使用依赖自定的res工具类包装返回值,并且他支持加密方式为AES,并不满足我们项目使用SM2的要求,同时,无法自定义加密方式。所以选择根据他的代码进行改造方式为切面编程,难度不大,但是目前有个问题,AES加密 一旦 body数据太大,那么解密时会出现失败的情况,提示长度需要为16的倍数。RSA加密boby太长,需要使用分段解密。同时会造成前端解密后出现乱码的情况。

2022-12-02 10:33:31 3006 1

原创 ffmpeg视频剪辑视频长度问题,视频无声音,视频卡顿问题

在项目中做视频剪辑,合并多个视频为一个视频时,会出现多种坑,如视频无法播放,视频时长不对,视频无声音,视频合并处卡顿等问题

2022-10-18 15:54:36 5005

原创 如何在springboot项目中引入本地jar

引入本地jar到maven仓库。

2022-09-27 14:58:39 3600

原创 onlyoffice修改logo图标及开启https

在媒体资源管理系统种,需要对文档文件进行在线预览的功能,之前我是使用的kkfileview,这个开源组件的优势在于,他支持多种类型的文件进行在线预览,但是对于文档文件,他是通过将其转为图片的形式进行预览,所以不满足我们后续在线编辑的需求,最终使用onlyoffice进行替代。

2022-09-20 17:18:56 3630 2

原创 VUE的dist文件如果集成到SpringBoot项目中

目前流行的项目是前端端分离的,但是一些mini项目可以省略调nginx直接集成到springboot的项目中.

2022-08-22 16:11:49 2739 7

原创 SpringBoot如何使用Get请求传递Date

项目场景:项目涉及到查询某个日期内的文件列表。

2022-08-16 11:07:00 3921

原创 inno setup 打包 jar + h5 + mysql + redis 成 exe

最近公司需要将前后端打包成exe交付单机版本的软件,最终选用innosetup来进行打包目前打包方式是前端打包的exe软件去访问后端运行的接口,后端的启动其实是通过windows命令,运行各个插件和jar来进行的httpshttps。...

2022-07-25 11:51:19 1301 7

原创 dbswitch数据迁移数据增量时如何不覆盖目标源数据

最近项目需要一个数据引接功能,要能实现各数据库之间的数据迁移,数据的全量迁移和增量迁移,并找到开源项目DBSWITCH官方:一句话,dbswitch工具提供源端数据库向目的端数据的迁移同步功能,包括全量和增量方式。迁移包括:结构迁移字段类型、主键信息、建表语句等的转换,并生成建表SQL语句。数据迁移。基于JDBC的分批次读取源端数据库数据,并基于insert/copy方式将数据分批次写入目的数据库。支持有主键表的 增量变更同步 (变化数据计算Change Data Calculate)功能(千万级以上数

2022-07-08 17:36:16 1375

原创 java运行linux命令时报错

项目使用docker容器部署,在大屏展示功能时有及格功能,分别是展示当前系统内存使用情况,带宽使用情况。部分代码,第一个是收集带宽的功能,能够正常执行下面是查看内存使用情况的代码,会报错,exec不管是数组还是字符串都是一样的原因分析:我自然而然的登录linux使用free -hl发现没问题,忘记了jvm环境是在docker中,当我进入docker后,发现free命令不存在。而带宽是打开文件进行查看,所以没有报错先看dockerfile是如何编写的1.环境中下载基础命令2.更换基础环境(推荐)因

2022-06-30 14:45:45 1086

原创 com.sun.tools.javac.util不存在

项目场景:达芬奇开源项目导入代码进行二次开发,maven依赖无法解决com.sun.tools.javac.util在一个utils类中,com.sun.tools.javac.util依赖引入不了,并且阿里仓库也没有找到要么这个依赖包太老,或者这个包是私有包,但是以com.sun开头的包是java公司的包,于是想到jdk自带的包是否未引入1.点击idea的project structure2.点击+号进行java导入lib3.选择jdk下的tool包进行导入...

2022-06-27 16:30:02 780

原创 nginx反向代理后接口No handler found for GET

nginx作为反向代理时接口映射找不到接口前端调用 http://xxx.xx.xx:9007/dbswitch/xxx 需要代理到http://xxx.xxxx.xxx:9088/dbswitch/xxx后端能看到报错信息,说明代理是成功的,只是在代理的过程中,因为配置等原因造成了接口地址变化理解 proxy_pass http://192.168.1.212 和 proxy_pass http://192.168.1.212/ 的区别当接口请求中location为 / 来匹配时,如果请求是 http:

2022-06-15 18:44:41 2006

原创 nginx配置文件的配置规则和说明

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、nginx是什么?二、如何安装1.安装依赖2.下载安装文件3.安装文件三 配置文件1.nginx作为文件服务器1.文件目录配置2.反向代理服务器3.跨域配置4 负载均衡1.轮询(默认)2.权重3.ip_hash前言一、nginx是什么?nginx常用来做负载负载均衡和反向代理服务器,同样可以作为文件服务器和做跨域配置二、如何安装nginx安装的时候不指定安装目录,会默认安装到/usr/local/nginx下.

2022-05-30 14:10:05 637

原创 IDEA中git如何不提交指定文件

文章目录前言一、修改的文件二、changelist三 如何不提指定文件前言这篇文章主要是记录JAVA IDEA在使用git时,如何不提交指定的文件,比如多人做一个项目时,不提交自己的yml文件到git上一、修改的文件在IDEA中,修改的文件回变成绿色,在使用commit时,会在对话框中,显示这些绿色文件,作为本次上传到git的文件二、changelist提交时的对话框是commit changes,默认情况下,指定的changelist是default。也就是修改文件后,出现列表默认情况

2022-05-19 18:53:45 10618

原创 Java多线程的几种实现方式

文章目录前言一、Executors二、ThreadPoolExecutorThreadPoolExecutor使用方式1.定义一个线程池2.定义一个任务类3.线程池执行三.ThreadPoolTaskExecutor1.定义线程池注意前言Executors和ThreadPoolExecutor和ThreadPoolTaskExecutor三种来讨论一、Executors1.Executors.newFixedThreadPool:创建一个固定大小的线程池,可控制并发的线程数,超出的线程会在队列中

2022-04-29 16:00:21 990

原创 Mysql分组后时并行统计数量

文章目录前言一、示意图二、sql三 结果前言如:数据根据type分为photo,video,audio,other,如何分组对这几种类型进行统计数量。如果type外还有字段ai存在,0和1分别表示两种状态,那么如何对刚才分组进行统计0和1的数量。一、示意图二、sql select t_ai_function.name,count(*) as total, SUM(case when t_ai_task.state=2 then 1 else 0 end ) '成功', SUM(case

2022-04-19 17:13:31 1543

原创 Mysql5.7版本如何实现主从同步

文章目录前言一、原理?二、步骤1.master搭建2.slave搭建前言之前说到redis的主从备份:Mysql主从复制指的是数据可以从一个Mysql数据库节点复制到多个Mysql数据库节点。 Mysql数据库默认采用异步复制机制。这样对于master节点和slave节点来说,只能保证弱一致性。可能会存在master节点和slave节点数据不一致的情况。redis同步第一次进行全量同步,slave将master上的数据全部复制一份。slave放弃之前的数据,将接收到的RDB文件全部导入,之后进行增

2022-04-15 14:22:07 1212

原创 使用Docker部署Redis进行高可用主从复制

文章目录前言一、什么是主从复制?二、步骤1.拉取镜像2.安装master安装slave总结前言为什么要进行主从复制?在高并发,高可用成为主流的今天。如果中间件只有一台的情况下,发生故障,那么容易造成单点故障。造成服务的不可用。或者中间件在存储不足的情况下,如何继续存储信息成为了需要解决的问题之一,那么数据备份成为解决这一难题的基本方法。一、什么是主从复制?程序向redis-master服务写入信息,这条信息会通过指定方式同步到其他slave服务器中。在这个集群中,masterd的写入数据会同步

2022-04-14 11:59:20 1696

原创 EasyPoi导出异常 - java.lang.IllegalArgumentException: object is not an instance of declaring class

项目场景:项目场景:使用easypoi进行导出excel,excel导出报错java.lang.IllegalArgumentException: object is not an instance of declaring class,object is not an instance of declaring class问题描述根据报错信息,我们知道这是非法字符异常-对象没有一个反射实例,下面是我excel对象的描述:思考片刻我就在想,我tm是不是data失效或者list这个地方赋值属性的时候

2022-04-13 14:26:17 4536

原创 Docker部署redis单机版本 - 修改redis密码和持久化方式

文章目录前言一、拉redis镜像文件二、如果进行文件和目录的挂载1.创建文件夹2.使用配置文件启动1 先启动一次redis2 从网上下载一个conf文件3 修改conf配置文件4 启动redis总结前言之前部署过几次redis,都是直接把它拉下来然后直接启动,并没有设置太多的属性。后来部署过一个设置过的,但是第二次部署就忘了具体的流程了,这次下定决心记录一下。一、拉redis镜像文件无脑拉最新版本 :docker pull redis二、如果进行文件和目录的挂载1.创建文件夹我们将/d

2022-04-08 15:32:11 1540

原创 Mysql和Redis如何保证数据一致性

文章目录前言一、先更新数据库,再更新redis二、先更新redis,在更新数据库三 先更新数据库,再删除redis四 先删除redis,再更新数据库总结前言如何保证数据库和缓存双写一致,下面提供几种方法,来讨论下他们的优缺点。一、先更新数据库,再更新redis这种方案,应该没人采用。如果先更新数据库成功,接着更新redis失败,那么会造成数据不一致,所以这种方法舍弃二、先更新redis,在更新数据库这种方案和第一种相似,也具有相同的问题如果更新reids成功,更新数据库失败,那么同样会造

2022-03-31 11:08:32 6002 2

原创 Docker容器时间和服务器时间相差8小时

项目场景:在微服务部署时使用docker作为容器,部署在服务器上时间不一致。问题描述在服务器上使用docker进行项目部署时,docker容器时间和服务器时间相差8小时,导致插入数据库时间不同。本项目采用jenkins自动化部署方案。采用dockerfile和sh脚本的部署方案原因分析:docker容器未做时区设置,在dockerfile中对时区进行设置解决方案:在dockerfile中添加设置时区RUN /bin/cp /usr/share/zoneinfo/Asia/Sha

2022-03-21 16:39:20 2442

原创 Minio分片上传解除分片大小限制 - chunk size must be greater than 5242880

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、chunk size must be greater than 5242880?二、解决方法1.前后端统一分片大小2.修改minio源码总结前言大概内容:在使用minio进行上传大文件时,往往需要对大文件进行分片上传。在这个过程中就会踩到很多坑,minio进行文件上传时,可以直连文件服务器,而后端作为参数保存和合并发起的调用者存在。在合并的过程中,因为minio自身代码限制,会出现一些不必要的问题。一、chun.

2022-03-21 11:46:18 10796 15

原创 ES时间查询报错 - “caused_by“:{“type“:“illegal_argument_exception“,“reason“:“failed to parse date field

项目场景:在ES的使用过程中,用到了时间范围的查询功能,出现时间解析错误的报错信息:“caused_by”:{“type”:“illegal_argument_exception”,“reason”:"failed to parse date field …问题描述查询query对象部分字段描述 @ApiModelProperty(value = "开始时间") @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-d

2022-03-16 17:45:44 9575

原创 Springboot使用RabbitMq延迟队列和死信队列

文章目录前言一、业务解决方案1.quartz定时器2.redis定时器3mq消息队列二、RabbitMq延迟队列1.延迟队列2.死信交换机3监听器总结前言在最近的项目中,结合minio文件服务器的一些特性。需要做一个分片上传的功能:用户上传文件到md5的桶下,合并文件后删除这个临时桶。会出现这样一种情况,用户上传文件传到一半就不再上传了,那么如何去删除,什么时候去删除时需要解决问题。一、业务解决方案1.quartz定时器如果是单体项目,可以考虑使用quartz定时器。在创建桶的时候加入到..

2022-02-17 14:59:17 1318

原创 jenkins构建镜像自动化部署

文章目录前言一、Jenkins 是什么?二、三种构建方式1.新建自由风格的软件项目2.maven风格1)构建并推送jar包2 shell脚本完成部署总结前言本文是在安装好jenkins以及其他环境的前提下编写的。所以需要保证jenkins服务器上有maven,jdk,关联git等操作。如果需要搜索其他文档一、Jenkins 是什么?百度百科:jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行..

2022-02-16 10:03:31 2095

原创 minio8.x版本设置policy桶策略

文章目录前言一、policy策略1)7.0版本实现方式2)8.0后设置桶策略二、policy-理解json字符串含义1.新建桶是什么策略2.设置桶的规则3.用java代码完成1)将桶设置为public2)桶内文件夹权限设置4.prefix是断言吗?5.java代码设置桶策略总结前言minio是一个文件存储服务器,他实现了亚马逊s3协议,所以在文件管理管理上有着更加细粒的权限划分,同时它有着部署简便,支持大数据存储,上传下载速度快。分布式部署可以实现纠删码防止文件丢失特性。今天这篇文章主要讲mini..

2022-01-21 15:46:09 13508 11

原创 利用dockerfile构建镜像

文章目录前言一、dockerfile是什么?二、基础命令1.FROM2.MAINTAINER3.EXPOSE3.COPY4.WORKDIR5.VOLUME6.ENV7.ENTRYPOINT三 示例四 构建镜像五 运行总结前言docker流行的今天,许多项目在交付或者开源项目中都会附属一个东西-dockerfile,有了这个文件,你可以构建自己的镜像,在移植部署时,系统会自动帮你完成环境设置。方便简单提示:以下是本篇文章正文内容,下面案例可供参考一、dockerfile是什么?Dockerf..

2022-01-04 10:31:44 1074

原创 srs集群

文章目录前言一、DockerDesktop二、集群方式1.制作含srs的centos镜像2.启动4台srs服务器3.修改配置文件1.修改orgin1配置文件2.修改orgin2配置文件3.修改 edge1 配置文件4.修改 edge2 配置文件3.测试1.推流测试1.拉流测试前言单机srs直播服务器因单机能力不足,在生产环境常常使用到集群模式,在本次模拟搭建srs集群时,采用docker进行集群,因为博主没有购买云服务器,加上朋友的云服务内存小,无法支撑集群搭建,所以本次采用dockerDeskt..

2021-12-28 16:00:48 1199

转载 Springboot初始化数据实现方式

文章目录前言一、ApplicationRunner二、CommandLineRunner三 @PostConstruct前言有时,在程序执行时,需要自动初始化一些缓存数据,需要用到java提供的一些接口或者注解来实现,如ApplicationRunner,CommandLineRunner,PostConstruct一、ApplicationRunner/** * ApplicationRunner * 该接口的方法会在服务启动之后被立即执行 * 主要用来做一些初始化的工作 * .

2021-12-16 16:46:39 176

原创 Java8 Optioanl解决空指针异常

optional java8

2021-12-07 15:57:29 758

原创 Java文件在线预览

文章目录前言一、kkfileview是什么?二、使用步骤1.单机版部署2.docker部署3.配置文件3.项目接入4.后端调试地址总结前言做媒资管理平台时,会遇到这种情况。要求文件能够在线预览,对于mp3,MP4等能被html读出来的文件类型来说是可以直接实现的,但是对于pdf,word,excel这些html无法读出的类型,只有另寻其他方法来解决一、kkfileview是什么?kkfileview是一款国产开源项目,支持多种文件的在线预览功能,还支持图片翻转等功能二、使用步骤1..

2021-12-02 11:14:25 479

原创 简单理解设计模式——观察者模式

文章目录一、简单理解观察者模式二、DEMO1.创建监听对象 -- (宅男)2.创建被监听对象 -- (女主播)3.测试类一、简单理解观察者模式观察者模式,常用的监听器运用了这一设计模式,所以又叫监听者模式。顾名思义,就是创建一个被监听的对象或者容器对象,监听这些对象状态的变化。简单来说,就是对象状态(参数)修改后,调用其他业务方法。二、DEMO渣渣辉和唐正奎是两个宅男,喜欢一个女妆主播黄翔辉。只要黄翔辉开播,那么渣渣辉和唐正奎会立马刷礼物哄黄翔辉线下约见。在这个故事里,女妆主播黄翔辉是被..

2021-11-23 17:52:23 124

原创 SpringBoot集成RabbitMQ如何使用多线程进行消费

文章目录前言一、安装RabbitMQ1.安装erlang语言2.安装MQ3.可视化界面二、springboot集成RabbitMq简单使用1.引入依赖2.yml配置3.申明队列4.发送消息和消息消费三 rabbitmq高级使用1.SimpleMessageListenerContainer2.@RabbitListener3.手动确认机制总结前言SpringBoot家族对rabbitmq提供了非常好了集成,今天主要是针对springboot中如何使用rabbitmq以及在业务中如何多线程处理消息..

2021-11-22 18:14:30 6195

原创 linux系统如何部署前端项目

文章目录前言二、tomcat服务器1.安装tomcat2.配置文件node.js服务器1.安装node.js2.运行前端包nginx服务器1.安装nginx2.修改配置文件前言在windows系统中,前端将代码打包后,可以直接通过浏览器进行访问。但是这时的前端包只是运行在浏览器上,而真正前端运行需要以服务器作为依托。前端包相当于鱼,而运行前端的服务器相当于鱼缸,今天我们来聊聊前端项目部署的几种方式二、tomcat服务器tomcat是一个http和servelt服务器,用户通过浏览器可以对t..

2021-11-17 15:05:26 6683

空空如也

空空如也

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

TA关注的人

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