自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(149)
  • 资源 (5)
  • 问答 (2)
  • 收藏
  • 关注

原创 logback 初探学习

参考上面xml定义。记录器(Logger)、追加器(Appender)就是上面的logger标签和appender标签,logger主要就是两个属性,日志名称name和日志级别level。

2024-11-23 11:23:13 608

原创 redis 集群槽位异常 Not all slots covered! Only

解决方案,找到当前集群master,执行强制操作分配操作,如果你能接受丢失数据的风险,当然reids本来就不是用来持久化的,所以没事儿。./redis-cli -c -h 你的reidsIP -p 你的reidsPORT -a 你的redis密码。找到后exit退出重新执行命令,强制重新分配槽位。进入cli中查询master的IP。执行命令 查询主节点IP。

2024-09-30 10:27:34 527

原创 git 分支重命名 使用IDEA进行操作

首先,重命名本地分支(与上一步相同),然后使用命令“git push origin -d 旧分支名称”来删除远程分支,接着使用命令“git push origin 新分支名称”来上传新修改名称的本地分支到远程,最后,可以使用命令“git branch --set-upstream-to origin/新分支名称”来修改本地分支的关联远程分支。如果分支尚未推送到远程,可以使用命令“git branch -m 旧名称 新名称”来重命名本地分支。git push origin -d 旧分支名称。

2024-04-25 15:23:36 1898 1

原创 HandlerInterceptorAdapter、RequestInterceptor、Interceptor不同拦截器的区别

HandlerInterceptorAdapter用于拦截处理器方法的调用,RequestInterceptor用于拦截Feign客户端发送的HTTP请求,而Interceptor是一个更通用的概念,可以用于拦截和处理HTTP请求以及其他场景。在Spring Boot和Spring Cloud中,HandlerInterceptorAdapter、RequestInterceptor和Interceptor是用于拦截和处理HTTP请求的组件。它们的执行顺序和功能有一些区别。

2023-10-16 16:29:58 685

原创 elasticsearch (六)filebeat 安装学习

解压缩后,以配置nginx日志为例。filebeat 配置中,- module: nginx access: enabled: true var.paths: xx enabled 和 var.paths 代表什么意思配置什么的Answer :在Filebeat的Nginx模块配置中,指定了要启用的模块。access指定了要收集的日志类型,即Nginx的访问日志。enabled: true 表示启用该模块,var.paths指定要收集的日志文件的路径和名称。你需要将var.paths。

2023-10-16 16:28:43 226

原创 feign降级和熔断器记录

Feign的降级与Hystrix/Sentinel的降级之间的主要区别在于,Feign在客户端实现接口降级,而Hystrix/Sentinel在服务器端实现降级。总体而言,Feign的降级更侧重于处理客户端和服务器之间的通信故障,而Hystrix/Sentinel的降级更专注于处理服务器端故障。单独接口流控,服务A访问服务B 对服务B进行流控,服务B降级走了fallback,对A无影响。单独接口流控,服务A接口,服务A接口会被控制。网关流控,会控制整个服务A的流控。

2023-06-27 08:37:07 192

原创 自定义缓存注解,动态缓存数据

此注解解决的业务功能:类似于Cacheable的功能,在方法上添加注解能够动态的缓存起来,只不过我这里自定义了注解,并用redis缓存数据,数据在存储前可以派生其他的类来解决动态的修改自己的缓存业务逻辑。此注解产生的原因:线上百万级访问量访问接口,由于各种原因扛不住压力,所以需要解决问题,所以决定采用缓存处理,但是缓存处理因为业务逻辑众多,又不想嵌入具体的代码进行逻辑判断,所以直接利用注解AOP动态判断最后的结果然后对最后的结果进行缓存。但是由于有些数据是不存在的但又要一些空结构来保持前端的需求

2022-03-31 16:45:17 2035

原创 jenkins (三)自由风格gitlab分支拉取代码非钩子形式

一、创建一个自由风格的项目二、配置gitlab和shell配置分支参数选择源码管理可以添加多个分支可以设置多长时间执行一次我这边执行使用maven打包构建后的操作就是移动jar包并启动sh脚本服务器的执行脚本#!/bin/bash PID=`lsof -i:8181| grep LISTEN |awk '{print $2}'`echo ${PID}export BUILD_ID=dontKillMeif [[ $...

2022-03-11 14:42:24 1582

原创 jenkins (二)定制gitlab特定分支拉取代码非钩子形式

一、安装好gitlab参考:docker安装配置gitlab详细过程 - Gringer - 博客园 (cnblogs.com)二、配置jenkins环境进入 系统管理 -> 系统配置(1).输入gitlab地址(2).配置gitlab凭据信息(3).选择gitlab Api Token(4).进入gitlab配置token 然后粘贴到jenkins凭据中点击创建个人访问令牌然后把令牌信息放入jenkins中,点击添加即可然后选择添...

2022-03-10 14:37:08 1499 1

原创 jenkins (一)基于docker安装和配合环境

1.安装jenkins1.执行命令$ docker pull jenkinsci/blueocean:lts2.创建挂载的目录$ mkdir -p /mnt/jenkins_home3.启动命令docker run -d -p 60000:8080 --env JAVA_OPTS="-Xms128m -Xmx128m -Xmn128m -XX:MaxNewSize=128m -Djava.util.logging.config.file=/var/jenkins_home/log

2022-03-08 15:34:50 727

原创 未知根节点遍历树结构工具类

未知根节点遍历树结构工具类;在不知道根节点的情况下如何能排序出树结构;

2021-12-23 21:58:15 8008

原创 Redis 事务、内存回收、持久化机制

1. 内存回收(默认 惰性过期+定期过期)Reids 所有的数据都是存储在内存中的,在某些情况下需要对占用的内存空间进行回收。内存回收主要分为两类,一类是 key 过期,一类是内存使用达到上限(max_memory)触发内存淘汰。1.1 三种key过期策略1.1.1 定时过期(主动 淘汰 )每个设置过期时间的 key 都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的 CPU 资源去处理过期的数据,从而影响缓存的响应时间和吞吐量

2021-11-06 10:46:11 850

转载 根据注解 自动注册bean ImportBeanDefinitionRegistrar

简介ImportBeanDefinitionRegistrar类只能通过其他类@Import的方式来加载,通常是启动类或配置类。使用@Import,如果括号中的类是ImportBeanDefinitionRegistrar的实现类,则会调用接口方法,将其中要注册的类注册成bean。实现该接口的类拥有注册bean的能力。手动把一个类注册成bean首先写一个类,最终要把它注册为bean。 public class HelloService { }自定义ImportBeanDefin..

2021-10-13 10:39:22 395

原创 docker (二)私服 harbor 安装与使用

1.下载地址Releases · goharbor/harbor (github.com)我下载的是离线包,然后上传至服务器harbor.v1.9.3.tar.gz# 前提条件已安装docker-compose# 解压harbor 离线包tar -zxvf harbor-offline-installer-v1.9.3.tgz# 修改 harbor.yml hostname配置 ,并且不能使用127.0.0.1 ,修改成你自己的host IP我的IP是 192.168.2.54$ v..

2021-09-18 18:30:02 878 1

原创 elasticsearch (五)canal 全量和增量自定义sql同步es

一、canal简介早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。基于日志增量订阅和消费的业务包括数据库镜像 数据库实时备份 索引构建和实时维护(拆分异构索引、倒排索引等) 业务 cache 刷新 带业务逻辑的增量数据处理当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x ,.

2021-09-14 18:04:19 1696

原创 elasticsearch (四)springboot操作es

一、spring-data-elasticsearch 操作es1.创建springboot项目,构建基础结构导入依赖包: <properties> <!--重要!!! 需要管理版本依赖 因为 spring-boot-starter-data-elasticsearch的依赖client的版本不对 --> <elasticsearch.version>7.14.0</elasticsearch.version&gt..

2021-09-09 13:30:40 1056

原创 elasticsearch (三)分词器的安装与es的CURD

1

2021-09-08 20:48:03 3753 1

原创 elasticsearch (二)head插件与kibana的安装

1

2021-09-08 18:21:10 727

原创 elasticsearch (一)安装与启动

1.我当前用的是linux系统,下载可以去官网下载或者命令行下载。我当前版本是7.14.0wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.0-linux-x86_64.tar.gz我下载到了根目录 /data文件夹下,下载完毕后解压安装即可。更改解压后的文件名为elasticsearch2.启动elasticsearch,linux下不能root用户下启动,需要创建新用户,这里新建...

2021-09-08 10:20:38 826

原创 阿里云OSS添加水印名称报错

base64编码后名称还是报错,是因为编码后的字符串带有 “/”把 “/”替换成“_”即可

2021-09-02 15:49:05 437

原创 linux虚拟机安装 Elasticsearch

1.下载eswget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.0-linux-x86_64.tar.gz解压安装即可启动不能使用root 用户 应该新创建用户2.java_home 需要重新指定 openjdk 11以上wget https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.ta.

2021-08-26 09:44:31 536

原创 mybatis 批量操作

SqlSessionFactory sqlSessionFactory=getSqlSessionFactory();//可以执行批量操作的sqlSessionSqlSession openSession=sqlSessionFactory.openSession(ExecutorType.BATCH);try{ Entity mapper = openSession.getMapper(Entity.class);for (int i = 0; i < 1000; i++) {.

2021-08-20 11:05:12 204

原创 自定义接口签名验证

对外调用接口安全性需要进行接口签名的认证所以实现一个简单的接口签名验证逻辑一、主要实现点1.验证接口的时效性2.验证接口的数据正确性3.验证AB两个用户调用共同的的私钥ACCESS_KEY二、签名规则描述:1.接口请求参数与盐值和时间戳按照自然规则排序2.参数必须包括当前时间戳 【timestamp】字段、盐值【salt】字段、签名【sign】字段3.【salt】生成规则:UUID 去【-】即可4.【sign】生成规则:自然排序的参数拼接ACCESS_KEY然后MD5加密即可.

2021-08-17 15:39:13 598

原创 mysql 按自然年月日分组

报表按照自然年月日分组,但是没有数据的月份需要自动填充零。所以创建虚拟表年月日表SELECT @s :=@s + 1 AS _index, DATE( DATE_SUB(CURRENT_DATE, INTERVAL @s DAY) ) AS _dateFROM information_schema. TABLES, (SELECT @s := - 1) tempWHERE @s < 365 #控制天数 查询近一年的数据ORDER BY _date然后在leftjo.

2021-07-09 09:49:04 530

原创 vue emoji表情符号替换

<inputv-model="value"@input="setValue($event.target)"placeholder="editme">export default { name: 'MainContent', data () { return { value:'' } }, methods: { setValue (target) { let val = ...

2021-01-15 15:21:35 1024

原创 微信上传图片,开发者工具 无效的媒体ID

{"errcode":40007,"errmsg":"invalid media_id hint: [ON83ta01218661]"}serverId都相同:1237378768e7q8e7r8qwesafdasdfasdfaxss111直接上真机测试即可

2020-10-20 18:00:28 995

原创 上传文件,压缩临时图片,不做本地图片存储,用于传输

前端上传的MultipartFile file//创建临时文件OutputStream stream = null;File toFile = null;try { toFile = File.createTempFile("temp_file", ".jpg"); toFile.deleteOnExit(); stream = new FileOutputStream(toFile); stream.write(file.getBytes());} finally { if.

2020-08-24 11:42:42 362

原创 springboot配置自己定义的https访问

1.使用JDK自带工具keytool生成ssl证书(tomcat.keystore)自行搜索 网上一大堆教程2.修改项目配置文件# http 端口server.http.port=8090# https 端口server.port=9090#文件地址server.ssl.key-store=D:\\tomcat.keystore #生成tomcat.keystore 时候的别名server.ssl.key-alias=tomcatserver.ssl.enabled=true.

2020-05-15 09:36:16 326

转载 VisualVm使用JMX的方式连接远程JVM

1、在catalina.sh中添加配置如下:在其中“# ----- Execute The Requested Command -------------”之前插入一行(中间没有换行):CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999 -...

2020-04-21 16:06:22 400

原创 update批量根据条件更新

<update id="updateOrgPath"> update t_h_org set org_path = <foreach collection="list" item="org_code" index="index" separator=" " open="case org_code" close="end"> when #{org_co...

2020-04-17 15:46:57 1163

原创 同一个service调用service本身的方法

如果同一个service调用service本身的方法,出现了事务不能控制。解决方案1.在spring配置文件中配置<!-- expose-proxy service调用aop实现自身调用自身方法--> <aop:aspectj-autoproxy proxy-target-class="true" expose-proxy="true"/>2.在serv...

2020-03-06 09:45:35 1678

原创 SonarQube7.6配置和使用-代码质量检测工具-windows配置

一、下载文件SonarQube7.6文件下载链接:https://pan.baidu.com/s/1jFydD7ki60Kl2MrHdmFaRA密码:0syp环境jdk1.8+mysql >= 5.6 && <8.0二、解压文件并配置1.解压文件sonarqube-7.6,进入conf目录修改sonar.properties 配置文件#...

2020-02-28 17:08:09 1226

原创 解决mysql使用mybatis插入emoji表情符号报错问题

1.修改数据库表对应字段的编码设置为utf8mb4格式,排序我用的是 utf8mb4_general_ci2.修改数据库配置文件将服务器编码设置为utf8mb4character-set-server=utf8mb43.重启数据库解决问题...

2020-02-28 15:49:14 2743

原创 如何正确关闭多线程

java创建多线程是基础中的基础,继承Thread类、实现Runnable接口和使用Callable和Future创建线程,或者使用线程池创建,这里就不阐述了,那么我们直接进入话题如何正确优雅的关系运行的线程呢?在以往项目中,我经常看到一些人写的线程如下public class ThreadDemo extends Thread { // 建立标记位 控制线程执行 private v...

2019-11-11 09:52:26 3228

转载 springboot外置配置文件

Spring Boot程序默认从application.properties或者application.yaml读取配置,如何将配置信息外置,方便配置呢?查询官网,可以得到下面的几种方案:通过命令行指定SpringApplication会默认将命令行选项参数转换为配置信息例如,启动时命令参数指定:java -jar myproject.jar --server.port = 9...

2019-10-18 11:56:37 428

原创 php环境安装 idea集成php开发

安装1.wampserver 64位 v3.1.7 官方简体中文版https://www.cr173.com/soft/259379.htmlwin10提示错误信息安装补丁https://www.microsoft.com/zh-CN/download/details.aspx?id=30679安装完毕2.查看屏幕右下角图标黄色未开启服务,绿色开启了服务cmd services....

2019-10-16 10:49:56 544

原创 Mybatis使用IN语句查询 关于mybatis in操作使用foreach的问题解决

直接简单粗暴一 、接口传递对象封装集合属性下面标记这种形式collection指的是对象属性myList例子User user = new User();user.setName("必须正解!");List<String> list = new ArrayList<>();list.add("1"); list.add("2");user.se...

2019-09-11 23:31:24 795

转载 junit+TestRunnable实现并发测试

TestRunnable runner = new TestRunnable() { @Override public void runTest() throws Throwable { //你的测试内容 } }; int runnerCount = 3...

2019-08-22 15:19:33 1071

转载 JDK1.7中HashMap底层实现原理(转)

JDK1.7中HashMap底层实现原理一、数据结构HashMap中的数据结构是数组+单链表的组合,以键值对(key-value)的形式存储元素的,通过put()和get()方法储存和获取对象。(方块表示Entry对象,横排表示数组table[],纵排表示哈希桶bucket【实际上是一个由Entry组成的链表,新加入的Entry放在链头,最先加入的放在链尾】,)二、实现原理...

2019-08-21 15:47:27 437 1

原创 算法面试题-用单向链表表示十进制整数,求两个正整数之和。1234+34=1268

数据结构是单向链表,并且是按照算数进行的。思路如下原结果1 2 3 4 3 41 2 6 8思路结果4 3 2 14 38 6 2 11 2 6 8大致就是单向链表的翻转,然后进行计算,然后在翻转。即可得出答案。本人才疏学浅只会写一种写法。// 定义的单向基本链表结构class ListNode { int val; Li...

2019-08-15 11:22:14 1960 1

sonar-l10n-zh-plugin-1.22.jar

sonarqube-7.6 中文插件

2020-02-28

springboot监听方法多实现demo.zip

springboot监听方法多实现demo.zip

2019-05-22

互联网高并发解决方案-基于Hystrix实现服务隔离与降级

互联网高并发解决方案-基于Hystrix实现服务隔离与降级互联网高并发解决方案-基于Hystrix实现服务隔离与降级互联网高并发解决方案-基于Hystrix实现服务隔离与降级互联网高并发解决方案-基于Hystrix实现服务隔离与降级互联网高并发解决方案-基于Hystrix实现服务隔离与降级互联网高并发解决方案-基于Hystrix实现服务隔离与降级

2019-01-06

kettle导入的lib包

kettle的导入包,最小话包导入。完美运行

2018-11-24

JDBC连接池BoneCP_Demo

JDBC连接demo,包括jar包。连接属性。

2018-11-02

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

TA关注的人

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