自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 QLExpress中function脚本导致内存泄漏

生产环境运行一段时间后变得卡顿,排查后发现GC日志中在频繁FullGC,内存分析发现有内存泄漏

2023-07-20 22:02:36 242 2

原创 docker快速部署oracle19c、oracle12c,测试环境问题复现demo快速搭建笔记

1、docker一键部署oracle2、常用sql整理3、 springBoot + mybatisPlus + oracle demo快速搭建

2023-06-26 20:18:52 1769

原创 Typora字体颜色设置:一键替换MD文件的字体样式

一键替换Markdown文件的字体样式:加粗字体—>橙色不加粗;也可以针对其它样式做切换,源码就一个demo类,修改正则匹配相关变量即可;

2023-01-31 21:25:34 837 1

原创 redis: jedis连接超时(需要手动注入连接超时检测的配置)

偶发redis连接超时,刷新就又好了,服务日志错误信息如下JedisConnectionException: Unexpected end of stream.

2023-01-12 21:23:20 3341

原创 一键搜索多个搜索引擎

一键同时开启多个搜索引擎:1、常用搜索引擎聚合在同一个屏幕同时搜索,并列展示;2、一键打开搜索页面,避免先打开网站,再输入内容搜索的繁琐步骤;3、自动在新窗口一键打开多个目标网站,同时搜索,独立标签展示;

2022-10-08 21:00:00 3869

转载 EXPLAIN简介

EXPLAIN简介

2022-06-14 18:27:30 213

原创 oracle适配总结

原来使用的是mysql:5.7,现在需要适配oracle数据库;项目框架:SpringBoot:2.2.11.RELEASE + MybatisPlus:3.3.2

2022-06-14 16:47:37 2205

原创 SpringBoot自定义配置注入的方式:自定义配置文件注入,从mysql读取配置进行注入

自定义配置的注入方式,可以读取自定义配置文件,也可以从mysql中读取配置进行注入;本文提供了两种注入方式,配置来源可以自己扩展

2022-06-05 17:24:05 2823

原创 ajax请求的重定向处理--Request header field x-requested-with is not allowed by Access-Control-Allow-Header

需求前端ajax发起请求,在后端接口中重定向,结果报错,无法跳转前端页面发起调用后端接口中重定向控制台报错如下将ajax访问的接口直接在浏览器地址栏中访问测试,发现请求内容与ajax请求的区别如下图原因:X-Requested-With: XMLHttpRequest 表示是ajax的异步请求,而ajax的异步请求不能直接重定向,所以需要特殊处理一下解决方案前端处理自己创建redirect.js,文件内容如下function redirectHan

2022-04-15 18:55:47 2512

原创 mysql原理、索引、优化-【公司内部培训】

在这里插入图片描述

2022-03-01 18:50:29 2949 3

原创 el-tree菜单权限配置--是否要联动的问题

自定义联动方案: -- 选中时,关联所有父节点 -- 取消选中时,关联所有子节点

2022-01-08 15:19:23 1046

原创 通用mapper(tk.mybatis) 使用Enum枚举类型字段的注意事项

我的实体类问题我的实体类中定义了一个枚举类型的字段,发现插入数据和查询数据时,都会忽略该字段;插入时的实体传参有值,数据库中为null;手动在数据库设置值,然后查询出来的数据该字段也为null;排查关于这块的资料都比较少,所以只好自己来debug源码找问题了;为什么这个字段会被参数处理器与结果处理器都忽略掉呢?源码:tk.mybatis.mapper.mapperhelper.EntityHelper#initEntityNameMaptk.mybatis.mapper.mappe

2021-10-23 13:35:48 1359

原创 docker-compose部署mongodb4.4.8副本集群 + 权限 + springBoot集成测试

3种集群模式参考链接:http://c.biancheng.net/view/6567.htmlMongoDB 有三种集群部署模式分别为主从复制(Master-Slaver)、副本集(Replica Set)和分片(Sharding)模式。Master-Slaver 是一种主从副本的模式,目前已经不推荐使用。Replica Set 模式取代了 Master-Slaver 模式,是一种互为主从的关系。Replica Set 将数据复制多份保存,不同服务器保存同一份数据,在出现故障时自动切换,实现故障

2021-08-12 00:00:05 1367

原创 docker-compose部署MongoDB以及用户管理

使用docker-compose部署MongoDB安装前准备# 下载镜像docker pull mongo:4.4.8-rc0-focal# 在自己的Linux中新建一个mongo文件夹mkdir ./mongo# 创建docker-compose.yml 以及需要挂载的目录cd ./mongotouch docker-compose.ymlmkdir -p ./data/dbvi docker-compose.ymlversion: '3.6'services: m

2021-08-03 00:26:10 3070

原创 FeignClient打印请求失败的日志,打印所有feignCliet接口请求失败的错误日志,方便排查原因

我的版本:只打印请求失败的错误日志,方便排查原因见源码: com.netflix.hystrix.AbstractCommand配置局部日志级别即可logging: level: com.netflix.hystrix.AbstractCommand: debug日志效果

2021-06-29 22:22:59 1164

原创 环信聊天记录保存到本地服务器

官方文档提供的聊天记录的存储方式1、导出聊天记录导出聊天记录文档限流说明适用于对实时性要求不高的使用场景;2、开通实时回调实时回调说明文档开通的费用:我们自己的实现方案我们是web端对接环信,那么只需要让web端给环信发送消息之前:先调用后端服务,消息存储成功,返回成功码;web端再给环信发送消息;另外,用户刷新页面查看消息记录也是从后端服务自己的数据库中获取的;让环信在这其中起到一个实时推送消息的作用;这是对于文本消息,那么还有图片、文件等消息类型呢?

2021-06-23 10:57:18 900

原创 Mybatis拦截器失效

现象:自定义插件注册成功,但是始终不进入拦截器方法;排查Mybatis拦截器是采用的责任链模式,一般拦截器中intercept方法中最后执行 invocation.proceed() 方法,将拦截器责任链向后传递;但是查看pageHelper源码可以发现,他的拦截器方法中并没有向后传递责任链,而是直接执行了查询:com.github.pagehelper.PageInterceptor#intercept思路想办法让自定义拦截器,在pageHelper拦截器之前执行;所以需要使自定义拦

2021-05-03 22:57:28 8607 6

原创 springBoot-Mybatis一级缓存的生效与失效

不加事务注解:每次查询都是独立的sqlsession,不走一级缓存;加上事务注解后会走一级缓存,但是执行update后,会清空缓存,之后的查询会再次生成缓存

2021-05-03 10:49:09 535

原创 Mysql数据量统计:一条sql查询所有表的数据量、数据大小、索引大小

修改数据库名 table_schema 为你自己的SELECTa.table_schema ,a.table_name ,concat(a.TABLE_ROWS, “条”),concat(round((DATA_LENGTH / 1024 / 1024) + (INDEX_LENGTH / 1024 / 1024),2) ,‘MB’) total_size ,concat(round(DATA_LENGTH / 1024 / 1024 , 2) ,‘MB’) AS data_size ,con

2021-03-22 18:12:50 678

原创 nginx禁止未绑定域名或IP访问-全局设置

针对http:(这个不设置,默认就是404)设置返回 500 或者404server { listen 80 default; server_name _; return 404; }设置跳转到自己域名首页server { listen 80 default; server_name _; rewrite ^(.*) http://www.aaaa.cn permanent; }针对https:

2020-10-12 16:13:12 385

原创 Mysql使用binlog增量备份与恢复

背景之前都是使用mysqldump全量备份,后来数据量大了,一个是磁盘空间不足,第二是占用cpu资源严重;使用binlog之后,执行过程都被实时记录到了日志文件中,只需要维护一次全量备份,基于此,再加上执行记录,就可以恢复到自己想要的位置或时间节点;查询binlog相关-- 查看当前数据库是否开启binlogshow variables like '%log_bin%';-- 查看当前数据库binary log的位置show master status; -- 查看binlo

2020-09-27 18:08:52 911

原创 confluence使用Markdown编辑器

安装插件站点管理 --> 查找新应用 --> 搜索 “Markdown” 完成安装即可使用 Markdown 编辑器

2020-09-24 14:59:57 11812 10

原创 使用docker-compose部署confluence,自己的wiki

一、搭建过程1.1 基础准备1.1.1 拉取docker镜像,我们选择的版本是 6.15.1-alpinemkdir ./confluencecd ./confluencedocker pull atlassian/confluence-server:6.15.1-alpine1.1.2 准备好mysql的驱动,我们使用的mysql版本是5.7wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.4

2020-09-24 14:54:57 2858

原创 mysql ibd文件特别大的问题

mysql innodb引擎 数据文件远大于实际数据量版本:mysql 5.7当你删除数据时,mysql并不会回收,被已删除数据的占据的存储空间,以及索引位, 或者其他页分裂问题也会产生碎片。show variables like "innodb_file_per_table"; #查看当前数据库的表空间管理类型(on表示独立表空间开启,5.6默认开启独立)-- 列出所有已经产生碎片的表select table_schema db, table_name, round(data_free

2020-09-14 15:46:14 6821

原创 Mysql复制表结构与表数据

环境:Mysql5.7快速复制一个表 copy(表 tb_a 复制为 tb_a_copy)1、直接使用工具,比如navicat直接对表Ctrl + c 、 Ctrl + v ;2、直接创建并复制数据,但是仅仅包含结构与数据,没有索引等其他内容;create table tb_a_copy as select * from tb_a ; 3、复制旧表的主键、索引、但是不包含触发器、外键create table tb_a_copy like tb_a;insert into tb_a_

2020-09-07 23:37:40 2126

原创 ECS实例搭建与维护--【培训】

一、阿里云相关1、内网互通介绍;各环境隔离测试,主要是数据库相关连接必须完全隔离;1、经典网络不能直接内网通信,专有网络可以;2、不同地区不能直接内网通信(例如华东、华北就不能),同地区的不同可用区(例如 华东1中:可用区 I 和 可用区 G)是可以内网通信的;3、并且需要在同一个安全组,才能内网端口互通;2、安全组规则注意点:1、80、443端口全网开放,用于nginx反向代理,访问我们的服务;2、 ICMP(IPv4)开放,用于ping测试;3、快照策略设置快照策略,对服务器磁盘进

2020-09-04 15:50:15 466

原创 java判断多个对象是否同时为空,或者都不为空,或者混合存在

package com.nnhx.common.util;import com.xiaoleilu.hutool.util.ArrayUtil;import com.xiaoleilu.hutool.util.CollectionUtil;import io.jsonwebtoken.lang.Strings;import java.util.ArrayList;import java.util.Arrays;import java.util.Collection;import java.

2020-07-28 17:17:05 10869 3

原创 SpringBootAdmin自定义监控消息推送

一、发送方式本地可以通过配置发邮件,但阿里云服务器中25端口被禁用,自带邮件功能无法发送,需要开放端口;也可以自定义其他通知方式:微信或者短信通知二、创建boot项目pom.xml<properties> <spring-cloud.version>Finchley.RELEASE</spring-cloud.version></properties><dependencyManagement><dependencie

2020-07-17 10:33:30 3506

原创 自己实现hystrix

一、功能设计拦截远程调用,当远程服务异常,则拦截,直接返回;若远程服务正常,则放行调用。二、窗口滑动在一个时间窗口11:01->11:02->11:03->11:04->11:05在一个窗口时间内,若调用失败次数达到一个值,做什么事情三、熔断器的状态 HystrixStatus/*** 断路器的状态* @author WHX*/public enum HystrixStatus { OPEN(0), CLOSE(1), HALF_O.

2020-07-17 09:41:01 380

原创 springCloud搭建、zuul、feign、hystrix、ribbon(内部培训)

一、搭建过程1.1 创建方式所有模块的创建均为空的maven项目,父项目中的src文件夹可直接删除1.2 依赖管理dependencies:当前项目与其子项目中都会添加改依赖(子项目会从父项目中继承)dependencyManagement:只声明依赖,并不实先引入,然后子项目中添加该依赖不写版本号,则继承父项目中所声明的版本,若子项目有指定版本,则优先使用自己的;ps: 我们可以再父项目中声明依赖,而不引入,做到版本集中统一管理;1.3 按项目结构图创建出各个模块对于其他模块的,可以选择

2020-07-16 15:22:46 432 1

原创 skywalking 搭建(apache-skywalking-apm-es7-7.0.0)

相关连接:github: https://github.com/apache/skywalkingbilibili: https://www.bilibili.com/video/BV1ZJ411s7Mn?p=5官方中文文档:http://skywalking.apache.org/zh/blog/阿里云文档:https://help.aliyun.com/document_detail/161783.html一、介绍略二、skywalking 搭建(apache-skywalking-apm

2020-07-13 10:12:55 4154 1

原创 cloud config + bus

一、native本地配置,通过服务发现去找配置中心1、服务端(config-server)添加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId></dependency>启动类添加注解:@EnableConfigServerb

2020-07-13 10:05:43 94

原创 实时监控 spring-boot-starter-actuator的整理

一、接入1、依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>2、常用actuator endpoints列表GET /autoconfig 查看自动配置的使用情况 true GET /configprops 查看配置属性,包

2020-06-16 23:43:28 530

原创 ERROR: 2 matches found based on name: network product-server_default is ambiguous

环境阿里云服务器,CentOs 7.2 64位出现原因启动脚本内容如下:docker-compose downdocker rmi product-server_productdocker-compose up -d服务器中两人同时执行启动脚本后,出错如下:后面执行命令 docker-compose up -d 时错误信息如下:product-serverERROR: 2 ...

2020-04-01 09:56:09 3303

原创 JedisConnectionException: Could not get a resource from the pool

版本声明问题介绍将配置了redis连接池的项目部署到服务器上构建docker镜像后启动容器,发现使用redis时一直报如下错误.部分日志如下:2020-03-17 08:56:47.345 [http-nio-6008-exec-1] ERROR c.z.e.common.handler.ResponseExceptionHandler - redis.clients.jedis.exc...

2020-03-17 23:35:04 464

原创 GitLab找回密码

一般方式1、可以通过发送邮件重置密码;2、可以通过超级管理员编辑用户设置密码;通过gitlab后台管理强制更改1、登录GitLab的Rails控制台docker exec -it gitlab /bin/bashgitlab-rails console production2、搜索用户,设置密码,保存通过用户ID搜索:user = User.where(id: 1).f...

2020-02-21 16:40:08 2169

原创 Feign的远程调用--微服务重试的坑

背景spring cloud Hoxton.SR1微服务多实例发布时,通过Ribbon实现的重试机制,在停掉一个服务之后并没有触发重试机制;我的主要配置(服务的消费者)ribbon: eager-load: enabled: true ReadTimeout: 10000 # 获取到响应内容的超时时间 ConnectTimeout: 2000 ...

2020-02-21 09:32:41 1293

原创 gitlab 使用docker-compose代替docker安装gitlab

**记录一次使用docker安装gitlab后的项目clone地址问题解决方案: 可以使用docker-compose代替docker安装**问题:1、gitlab搭建好之后,创建项目的clone地址端口号不正确;2、docker安装的gitlab通过后续配置解决上述问题后,docker restart gitlab后又还原了(万一服务器需要重启,则需要重新配置);一、docker搭...

2020-01-26 21:44:23 827

空空如也

空空如也

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

TA关注的人

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