自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (2)
  • 收藏
  • 关注

转载 SpringCloud Gateway在转发请求时的两种负载均衡的方式

SpringCloud Gateway在转发请求时的两种负载均衡的方式

2023-02-14 10:37:30 1995

转载 使用Spring Cloud Stream操作RabbitMQ、Kafaka,消息重复消费的问题

mq

2022-06-29 11:09:09 527

原创 记录:redis存储了数据,取不到值

redis 序列化问题

2022-06-29 10:54:59 2057

原创 记录:AWS S3桶权限设置

要求:1、关闭公开访问 2、服务器使用ak、sk连接,设置存储桶策略 3、开启桶加速,使用 cloufront 域名或者自定义域名1、存储桶设置--阻止共有访问2、在 CloutFront 控制台 源访问身份 并分配2.1、创建---源访问身份(OAI)2.2、分配源访问身份的访问3、配置S3桶的存储桶策略 设置桶的访问权限后,!!!注意代码里面不要设置文件的共有访问属性{ "Version":...

2022-03-15 15:53:06 2731

原创 记录:keycloak 获取用户的AccessToken 不包含用户角色

用户登录后获取到的token信息不包含角色信息(红框里面的内容)经过排查发现需要在keycloak 的客户端里设置一下作用域方案1、把允许全范围的开关打开方案2、把需要放进token的角色分配到 Realm角色中...

2022-02-09 10:18:30 1059 1

原创 记录:Could not extract response: no suitable HttpMessageConverter found for respo

使用 RestTemplate 请求接口设置JSONObject 为返回对象,content-type:text/plain;charset-utf-8接口正常返回结构了,转换响应体时报找不到合适的 HttpMessageConverter看了下RestTemplate 的配置只设置了MediaType.TEXT_PLAINMediaType.TEXT_HTML新加了json的返回就正常了MediaType.APPLICATION_JSONMediaType.APPLICATION_O.

2021-12-01 10:33:43 2822

原创 记录:不同的请求获取到了相同的 ThreadLocal 值

1、在项目中使用线程内的变量储存用户的信息由于接口是匿名接口,带不带令牌都是可以的,测试发现不带令牌请求接口偶尔也能获取到用户的信息private static final ThreadLocal<String> threadLocal = new ThreadLocal<String>();threadLocal.set("xxx")2、这是因为在项目中使用了线程池,多个请求会用到同一个线程,而线程的变量没有被销毁3、解决方案:在拦截器中配置,在每次请求结束把线

2021-09-17 17:07:22 888 1

原创 记录:nginx正向代理报502

1、在开发小程序项目中,由于服务器在国外(域名没有在国内备案),小程序要求域名需在国内备案后才能使用,故注册了一个国内域名并备案后,在代理到域外的服务器上。location / { proxy_pass http://xxx.com/;}结果访问时报502;在备案的域名解析的服务器上访问也是正常的;2、这是因为nginx在访问时,把域名解析成ip进行访问的,接口只能通过域名访问(nginx同端口不同域名及禁用未绑定域名访问的配置,确实可以实现,这是https的SNI问题)3、解决

2021-09-17 16:55:55 3190

原创 记录:ftp 上传文件报 451 Failure writing to local file

在使用ftp过程中遇到的一个问题,ftp界面报错:451 Failure writing to local file一般来说,主要有两个原因:一、磁盘满了使用 df -h 查看磁盘使用情况 ,发现磁盘满了,然后查看是否又可以删除的东西(例如:日志)在阿里云控制台选择云盘热扩容,扩容完毕登录到服务器安装扩容工具yum install -y cloud-utils-growpart执行 扩容分区growpart /dev/vda 1执行 扩容文件系统resize2fs ...

2021-03-22 16:40:43 5957

原创 git 忽略本地修改不提交到远程仓库 报:fatal: Unable to mark file

1、本地文件不同步到远程仓库,远程仓库的不覆盖本地文件git update-index --assume-unchanged filename2、取消忽略某文件提交到远程仓库git update-index --no-assume-unchanged filename3、报:fatal: Unable to mark file先输入git reset HEAD 显示修改不提交的文件在输入命令 加上 git reset HEAD 显示的文件路径...

2021-03-22 13:51:41 2860

原创 记录 git 忽略文件配置以及 .gitignore 修改后不生效

1、git 配置 bootstrap.properties 文件不提交在.gitignore 文件添加 *.properties 提交后发现没有生效,经过排查发现是缓存的问题,执行下面的命令即可解决git rm -r --cached .git add .git commit -m 'update .gitignore'...

2021-03-18 09:49:10 294

原创 HTML 请求图片报403

在头部添加<meta name="referrer" content="no-referrer" /><!--页面头部添加-->

2021-03-11 18:09:26 128

原创 解决Ajax跨域问题:XMLHttpRequest cannot load XXX Origin XX is not allowed by Access-Control-Allow-Origin.

Warning: :1 XMLHttpRequest cannot load https://XXX/report?reportToken=624. Origin http://XXX is not allowed by Access-Control-Allow-Origin.Warning: Javascript alert: 请求失败一:使用jsonp格式,如jquery中ajax请求参数 dataType:'JSONP'。二:<meta http-equiv="Access-C..

2021-03-11 18:08:01 503

原创 linux 安装nginx

1.下载打开nginx官网http://nginx.org/en/download.html 下载稳定版可以下载后上装到服务器,也可以直接命令下载wget http://nginx.org/download/nginx-1.18.0.tar.gz2.安装依赖yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel3.编译安装解压安装文件tar -zxvf nginx-1.18.0.tar.g.

2021-03-04 16:16:33 282 1

原创 Linux 安装 ftp

一、安装FTP软件1、用root 进入系统2、使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vsftpd的版本3、使用命令rpm -e vsftpd 即可卸载ftp4、再使用rpm -qa|grep vsftpd 查看系统是否已删除ftp,若删除成功,屏幕上显示vsftpd的版本安装vsftpd二、查看是否已经安装vsftpdrpm -qa | grep vsftpd如果没有,就安装,并设置开机启动yu

2021-01-18 16:29:10 508

原创 linux 安装 harbor 镜像仓库

安装harbor之前需要安装docker-compost1、下载harbor压缩包wget https://storage.googleapis.com/harbor-releases/release-1.9.0/harbor-offline-installer-v1.9.1-rc1.tgz2、下成功后解压tar -zxvf harbor-offline-installer-v1.9.1-rc1.tgz 3、解压后进入harbor 编辑 harbor.yml 配置文件修改

2020-11-25 15:39:42 357

原创 docker快速安装rabbitmq

1、拉取镜像# 指定版本,该版本包含了web控制页面docker pull rabbitmq:managenent2、查看所有镜像docker images3、镜像创建和启动容器#方式一:默认guest 用户,密码也是 guestdocker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management#方式二:设置用户名admin和密码admin

2020-11-25 14:21:53 75

原创 Linux 安装docker 和 docker-compose

一、安装docker1、在CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上使用 uname -s 和 uname -m 查看2、用 yum源安装2.1、查看是否已安装docker列表yum list installed | grep docker2.2、安装dockeryum -y install docker ### -y 表示不询问安装,直到安装成功,安装完后再次查看安装列表2.3、查看docker版本 &am..

2020-11-17 17:09:55 167

原创 du 命令(磁盘使用量的统计)

du命令介绍du命令(disk usage)用来展示磁盘使用量的统计信息。du和df算是一对同门师兄弟,du侧重在文件夹和文件的磁盘占用方面,而df侧重在文件系统级别的磁盘占用方面。这两个命令都非常的基础,也是每位 Linux工程师都应该掌握的命令。命令选项-k:以KB为计数单位 -m:以MB为计数单位 -b:以字节为计数单位 -a:对所有文件与目录进行统计 -c:显示所有文件和目录的大小总和 -h:以人类可读的方式进行显示(KB/MB/GB) -s:仅显示总大小 -l:重复计算硬

2020-10-23 13:55:02 1225

原创 linux 清空redis缓存

1、进入目录redis下src目录。#cd redis/src2、执行redis-cli文件#./redis-cli3、输入密码(有密码的情况下)#auth 密码4、执行命令:flushall,出现OK代表执行成功#flushall5、退出命令exit#exit

2020-09-09 10:53:19 782

原创 PM2 常用命令

$ pm2 start app.js # 启动app.js应用程序$ pm2 start app.js -i 4 # cluster mode 模式启动4个app.js的应用实例 4个应用程序会自动进行负载均衡$ pm2 start app.js --name="api" # 启动应用程序并命名为 "api"$ pm2 start app.js --watch # 当文件变化时自动重启应用$ pm2 start script.sh # 启动 bash 脚本$ pm2 list # .

2020-08-25 16:58:29 93

原创 记录 spring boot 配置拦截器不生效

WebConfig 继承了 WebMvcConfigurationSupport 重写了addInterceptors、addREsourcesHandlers 等方法Swagger2Config 也继承了WebMvcConfigurationSupport 重写了addREsourcesHandlers 配置可以访问静态资源结果导致WebConfig 中配置拦截器不生效。把Swagger2Config 中配置可以访问静态资源的方法,配置到 WebConfig 中,去掉...

2020-08-13 19:02:08 318

原创 spring使用Test测试时报错:Singleton bean creation not allowed while singletons of this factory are in destru

一、问题描述利用Test测试任务时时,启动服务抛出异常:Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)具体的错误信息如下:Exception in thread "pool-3-thread-1" Exc

2020-08-07 17:54:54 2973

原创 spring boot 配置拦截器

1、写一个拦截器在Spring MVC中,拦截器有两种写法:要么实现HandlerInterceptor接口,要么实现WebRequestInterceptor接口而Spring Boot也只是集成了Spring MVC而已,所以拦截器的写法还是一样的。不一样的是Spring MVC的拦截器需要在xml文件中配置,而Spring Boot只需要在类上加@Component注解即可,这样当前拦截器才会被扫描到。这里只需要实现HandlerInterceptor接口即可。/** * 自定义拦截器

2020-07-29 17:29:18 382

转载 Spring 三级缓存解决循环依赖

1. 前言循环依赖:就是N个类循环(嵌套)引用。通俗的讲就是N个Bean互相引用对方,最终形成闭环。用一副经典的图示可以表示成这样(A、B、C都代表对象,虚线代表引用关系):其实可以N=1,也就是极限情况的循环依赖:自己依赖自己 这里指的循环引用不是方法之间的循环调用,而是对象的相互依赖关系。(方法之间循环调用若有出口也是能够正常work的)2. Spring Bean的循环依赖谈到Spring Bean的循环依赖,有的小伙伴可能比较陌生,毕竟开发过程中好像对循环依赖这个概念无

2020-07-15 11:28:24 310

转载 高频面试题:Spring 如何解决循环依赖?

在关于Spring的面试中,我们经常会被问到一个问题:Spring是如何解决循环依赖的问题的。这个问题算是关于Spring的一个高频面试题,因为如果不刻意研读,相信即使读过源码,面试者也不一定能够一下子思考出个中奥秘。本文主要针对这个问题,从源码的角度对其实现原理进行讲解。1. 过程演示关于Spring bean的创建,其本质上还是一个对象的创建,既然是对象,读者朋友一定要明白一点就是,一个完整的对象包含两部分:当前对象实例化和对象属性的实例化。在Spring中,对象的实例化是通过反射实

2020-07-15 10:53:38 211

原创 git 提交代码失败 git Auto packing the repository in background for optimum performance

本地一些 “悬空对象”太多(git删除分支或者清空stash的时候,这些其实还没有真正删除,成为悬空对象,我们可以使用merge命令可以从中恢复一些文件,也可以彻底删除掉!解决方法:1.输入命令:git fsck --lost-found,可以看到好多“dangling commit”2.清空:git gc --prune=now原理解析:Git的底层并没有采用 CVS、SVN 底层所采用的那套增量式文件系统,而是采用一套自行维护的存储文件系统。当文件变动发生提交时,该文件系统存储的...

2020-07-14 15:24:52 371

转载 关于SQL中使用 SELECT * 效率低的原因及场景

一、效率低的原因先看一下最新《阿里java开发手册(泰山版)》中 MySQL 部分描述:4 - 1.【强制】在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。说明: 增加查询分析器解析成本。 增减字段容易与 resultMap 配置不一致。 无用字段增加网络 消耗,尤其是 text 类型的字段。 开发手册中比较概括的提到了几点原因,让我们深入一些看看:1. 不需要的列会增加数据传输时间和网络开销 用“SELECT * ”数据库需..

2020-07-13 09:50:03 299

原创 记录 maven + spring boot + shiro 整合 swagger2 访问 404 和 服务端报类型转换错误

一、添加 swagger 相关依赖配置1、添加 maven 依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </depend

2020-07-10 16:52:57 725

转载 ES基本介绍

简介ES是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎。同时ES还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,能够横向扩展至数以百计的服务器存储以及处理PB级的数据。可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。ES就是为高可用和可扩展而生的。一方面可以通过升级硬件来完成系统扩展,称为垂直或向上扩展(Vertical Scale/Scaling Up)。另一方面

2020-07-07 17:50:18 405

原创 nginx 反向代理配置(多域名访问同一服务)

项目背景:用宝塔部署服务1、website 端2、cms 端3、服务器 端4、多域名访问同一服务(域名跳转)server{ listen 80; listen 443 ssl http2; server_name www.test.cn test.cn; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/test;

2020-07-07 10:35:32 641

原创 MySQL 修改用户权限:GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;FLUSH PRIVILEGES;GRANT:赋权命令ALL PRIVILEGES:当前用户的所有权限*.*:当前用户对所有数据库和表的相应操作权限‘root’@’%’:权限赋给root用户,所有ip都能连接IDENTIFIED BY ‘123456’:连接时输入密码,密码为123456WITH GRANT OPTION:允许级.

2020-07-06 14:30:48 3585

原创 mysql 数据库替换所有表的所有行的所有字段的值

思路:查询出数据路的所有表,在循环查询出表的所有字段并循环更新1、创建存储过程:查询表的所有字段并指定更新值CREATE DEFINER=`root`@`localhost` PROCEDURE `do_replace`(in orig_str varchar(100),in new_str varchar(100),in db_name varchar(100),in t_name varchar(100))BEGIN #Routine body goes here...DECLARE c

2020-07-01 17:27:38 774

原创 logback 日志配置记录

一、项目背景 spring boot + maven二、配置说明:logback如果需要灵活的配置日志级别,需要结合过滤器,<filter></fiter>这个标签。需要注意的是,过滤器过滤的基础是在root标签的配置基础上进行的。过滤器可以写在appender标签内,可以写一个或多个,顺序执行。过滤器会对每个级别的日志设置枚举值,表示对日志的处理方式。DENY:日志将立即被抛弃不再经过其他过滤器;NEUTRAL:有序列表里的下个过滤器过接着处理日志;(该级别既不处

2020-06-28 17:26:17 307

原创 An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed....

An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.24]IntellJ IDEA起一个Spring Boo项目,启动后出现两个ERROR日志。看提示是:1.2.10 的不满足了,需要去下载1.2.24版本。需要替换一个tcnative-1.dll去Apache Tomcat官方地址下载。地址

2020-06-18 16:44:54 621

原创 记录 springboot + spring security 配置跨域和访问权限配置

@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)public class SecurityConfig extends WebSecurityConfigurerAdapter{ @Override protected void configure(HttpSecurity httpSecurity) throws Exception{ httpSecurity..

2020-06-18 14:18:10 648

原创 maven + spring boot 多环境配置

1、在pom 文件添加 profiles 节点<profiles> <profile> <id>dev</id> <properties> <environment>dev</environment> </properties> <activation> <activeByDefault>true</activeByDefault&g

2020-05-14 10:01:32 227

原创 利用反射添加默认属性

1、EntityUtil工具类import org.springframework.util.Assert;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.Date;import java.util.HashMap;import java.util.Map;publ...

2020-04-24 17:13:11 1593

原创 服务器常用端口

文档中心云服务器操作指南安全安全组服务器常用端口服务器常用端口如下是服务器常用端口介绍,关于 Windows 下更多的服务应用端口说明,请参考微软官方文档(Windows 的服务概述和网络端口要求)。端口 服务 说明 21 FTP FTP 服务器所开放的端口,用于上传、下载。 22 SSH 22端口就是 SSH 端口,用于...

2020-04-09 17:14:25 200

原创 Linux 查看服务器内存、CPU、网络等占用情况的命令--汇总

搭建测试环境过程中,需要对正在使用的aws服务器,查看它在运行脚本,启动脚本时的内存,CPU,网络等使用情况1、查看物理CPU个数:catcat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l2、查看服务器CPU内核个数:cat 每个物理CPU中core的个数(即核数)cat/proc/cpuinfo ...

2020-04-09 17:12:32 24908

k8s,1.21升级为1.22后升级内置服务的脚本

k8s从1.21升级为1.22(k8s和节点分组都要升级) 官网地址:https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml ingreass 部分语法有变更,不支持 serviceName,servicePort,改为 service.name,service.port.number

2023-02-14

deploy.sh springboot jar包启动脚本

修改jar包路径名称,把此文件上传到服务器 启动:sh deploy.sh start 停止:sh deploy.sh stop 重启:deploy.sh restart

2021-03-04

nginx 把nginx添加为系统服务的文件

把文件上传到 /etc/init.d/ 设置执行权限:chmod +x /etc/init.d/nginx 注册成服务:chkconfig -add nginx 设置开机启动:chkconfig nginx on 之后,就可以使用以下命令了 service nginx start service nginx stop service nginx restart service nginx reload

2021-03-04

空空如也

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

TA关注的人

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