自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 elasticsearch-java api 8 升级

公司项目从升级到了,es的服务端也跟着升级到了es8 ,而es的客户端7和服务端8 是不兼容的,客户端es 7使用的是:es 8 升级到:两者之间查询api的变化还是比较大的,也花了不少时间在这个修改上,所以记录下中间的切换姿势,仅供大家参考。

2024-03-18 18:25:24 517 1

原创 记一次日志打印异常堆栈缺失

NullPointerException异常堆栈丢失解决

2023-04-07 11:52:35 844

原创 zookeeper 学习(一):简单认识zookeeper

highly reliable distributed coordination. 来自官网,高可用的分布式协调服务,应用最多的场景就是用来做其他服务中间件的协调者,我最开始接触zk ,是用来做注册中心,后来搭建kafka,需要用zookeeper。其实zk内部就想一个文件系统一样,内部数据以节点znode的形式保存,节点的特性去帮助我们实现以上这些功能。个人学习,这里推荐使用docker 安装,方便快捷,默认端口 映射 2181。官网:https://zookeeper.apache.org/

2023-03-27 19:54:00 599 1

原创 记一次线上es慢查询导致的服务不可用

查询交互设计不合理,报错的es索引,在es库是一个数据量很大的索引,这病频繁请求会导致cpu和频繁的gc后端接口么有校验,导致用户复制输入错误信息,也会去做查询操作,未做查询条件的过滤。

2023-02-27 10:15:03 2146

原创 spring 事务源码解析

spring 事务编程式事务编程式事务,使用TransactionTemplate 控制,就是由我们自己写代码手动控制事务的开启提交回滚,事务粒度细,TransactionTemplate 是一个模板模式的类,我们只需要 关注execute 方法即可public class TransactionTemplate extends DefaultTransactionDefinition implements TransactionOperations, InitializingBean {

2022-04-20 12:06:34 680

原创 spring 事件执行流程源码解析

spring事件观察者模式observer观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。spring事件机制,mq 都是 观察者模式的实现spring event 核心类1、ApplicationEvent 继承自JDK自带的 EventObject, 抽象事件类,自定事件可以继承该类,例如订单创建事件,订单更新事件,由某个动作出发

2022-04-08 09:37:27 560

原创 mapstruct 用法详细介绍

mapstruct 用法mapstruct 是什么mapstruct一款是用于生成类型安全的bean映射类的Java注解处理器 JSR 269规范,只需要定义一个接口,配置字段映射规则,使用注解处理器,在代码编译阶段,生成对应的映射实现类,使用的是纯get/set方法,无反射调用,并且在编译阶段可校验错误官网:https://mapstruct.org/documentation/stable/reference/html/#_apache_mavenJSR 269规范:http://www.jcp

2021-12-03 17:19:35 1620

原创 Dubbo spring cloud 学习(三) spring cloud alibaba dubbo nacos配置中心整合

Dubbo spring cloud 学习(三)spring cloud alibaba dubbo nacos配置中心整合spring cloud alibaba版本 2.2.1.RELEASEspring boot 版本2.2.1.RELEASE服务提供者pom 文件引入依赖 <!-- Dubbo Spring Cloud Starter --> <dependency> <groupId>com.al

2021-04-01 13:44:03 310

原创 Dubbo spring cloud 学习(三)spring cloud alibaba dubbo nacos整合

Dubbo spring cloud 学习(三)spring cloud alibaba dubbo nacos整合spring cloud alibaba版本 2.2.1.RELEASEspring boot 版本2.2.1.RELEASE服务提供者pom 文件引入依赖 <!-- Dubbo Spring Cloud Starter --> <dependency> <groupId>com.alibab

2021-03-24 08:44:54 236

原创 订单延时关单业务随想

订单超时关闭常见的交易系统中都存在这样的业务场景,用户下单之后(扣减库存,有的是在支付之后扣减库存),等待用户支付,这时如用户超过业务设置的支付时间之后,订单自动关闭,释放订单占用的资源(库存,用户优惠券,),这种业务场景下该怎么处理呢定时任务这种是最简单,最易处理的办法,直接使用定时任务,在订单生成是根据业务配置同步生成超时时间保存在订单表,启动一个定时任务,定时扫描订单表,已过超时时间未支付的数据,关闭订单,优点处理简单,快速上线,适合订单量不大,实时性要求不高的场景缺点性能差,如果

2021-03-21 22:33:34 244

原创 spring boot + mybatis plus 动态数据源实现

spring boot + mybatis plus 动态数据源实现参考官网文档https://mp.baomidou.com/guide/dynamic-datasource.html#%E6%96%87%E6%A1%A3-documentationpom引入依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-data

2021-03-20 12:52:37 348

原创 Dubbo spring cloud 学习(二)dubbo功能特性

Dubbo spring cloud 学习(二)dubbo功能特性多协议支持服务可以暴露多种协议,默认dubbo协议dubbohessianthriftrmirest…@DubboService(protocol = {"dubbo","rest"})public class LoginServiceImpl implements ILoginService { @Override public String login(String userName, String

2021-03-10 20:36:23 104

原创 spring cloud alibaba学习(一)–Dubbo

spring cloud alibaba学习(一)–DubboDubbo spring cloud 是基于 阿里开源的 dubbo 技术栈,按照spring cloud 规范实现的一套微服务治理技术框架,和 spring cloud (基于 netfix 开源的一些技术栈)类似功能spring cloudspring cloud alibaba分布式配置(Distributed configuration)Git、Zookeeper、Consul、JDBCSpring Clou

2021-02-21 09:15:54 289

原创 spring cloud eureka 服务分组隔离

spring colund eureka 服务分组隔离spring colund eureka 作为注册中心,feign 服务之间调用,原生不支持服务的隔离,比如以下场景: 服务A 调用服务 B(b1,b2),某些情况下只想让A请求到b1,实现服务之间的分组隔离或者 共用注册中心,配置中心,公共的服务模块,开发人员本机调试的时候不用启动大量的服务,导致开发机运行缓慢实现思路其实要实现很简单,参考MQ消息分组消费的原理,只需要在服务注册的时候,将每个服务实例分组标示好,然后自定义实现负载

2021-02-19 16:17:13 2583 5

原创 drools规则引擎实战(从入门到放弃)

规则引擎从入门到放弃demo定义drl规则文件package 与Java语言类似,drl的头部需要有package和import的声明,package不必和物理路径一致。import 导出java Bean的完整路径,也可以将Java静态方法导入调用。rule 规则名称,需要保持唯一 件,可以无限次执行。when 条件语句,就是当到达什么条件的时候then 根据条件的结果,来执行什么动作end 规则结束package rules // 包名 和class 包名不是同一个概念

2020-11-27 11:00:26 765

原创 git 代码提交注释模板

git 代码提交注释模板idea使用插件 git-commit-templatehttps://plugins.jetbrains.com/plugin/9861-git-commit-templategit bash下使用模板新建模板文件common-commit_templatetype of change:scope of this change:short description:long description:breaking changes:clos

2020-11-27 10:49:49 1222

原创 spring boot 整合 redis 实现分布式锁

spring boot 整合 redis 实现分布式锁利用redis setnx 命令的特性实现分布式锁SETNX key value只在键 key 不存在的情况下, 将键 key 的值设置为 value 。若键 key 已经存在, 则 SETNX 命令不做任何动作。SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写。返回值命令在设置成功时返回 1 , 设置失败时返回 0设置key 过期时间,防止死锁具体实现代码lock接口publ

2020-08-28 15:19:28 147

原创 链路追踪skywalking

skywalkingAPM(应用性能管理)工具链路追踪 https://www.sohu.com/a/319806744_100123073性能监控SkyWalking是一个开源的观测平台,用于从服务和云原生等基础设施中收集、分析、聚合以及可视化数据。SkyWalking 提供了一种简便的方式来清晰地观测分布式系统,甚至可以观测横跨不同云的系统。SkyWalking 更像是一种现代的应用程序性能监控(Application Performance Monitoring,即APM)工具,专为云原

2020-07-09 11:12:00 971

原创 es 库 elasticsearch-rest-high-level-client

注意不同es版本的兼容可能不同pom文件引入依赖 <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>6...

2019-08-02 17:44:44 1320

原创 MDC + 微服务请求链路追踪spring cloud sleuth

MDC + 微服务请你去链路追踪spring cloud sleuthMDCmdc相信很多人都已经知道是什么东西了,我们在可以在mdc中put某些属性,比如在请求开始时生成一个唯一的requestId,登陆的用户id,登陆的设备类型等等,然后在日志文件中取出打印,来帮助我们排查问题等 //可以在filter或者intercepter中putmdc数据,也可以通过aop拦截在防治法执行...

2019-06-11 11:21:19 3827

原创 spring boot 整合rabbit MQ

spring boot 整合rabbit MQrabbit MQrabbit MQ 是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用[Erlang]语言编写的,而集群和故障转移是构建在[开放电信平台]框架上的。所有主要的编程语言均有与代理接口通讯的客户端[库] 来自百度百科 rabbit MQrabbit 和其他消息中间件不同的...

2019-05-27 18:34:05 308

原创 spring 和spring boot 中的dispatcherServlet 的不同

dispatcherServlet 作用:dispatcherServlet 是作为我们spring web应用的 front controller 前端控制器,继承自servlet,拦截/* 的请求,然后根据请求的uri,将请求分发给我们的application controller(command)去处理具体的请求,1.spring我们以前用spring +spring mvc ...

2019-03-03 13:12:16 1135

转载 Java语法--通配符的上界通配符和下界通配符

&lt;? extends T&gt;和&lt;? super T&gt;是Java泛型中的“通配符(Wildcards)”和“边界(Bounds)”的概念。&lt;? extends T&gt;:是指 “上界通配符(Upper Bounds Wildcards)” &lt;? super T&gt;:是指 “下界通配符(Lower Bounds Wildcards)”为什么要用通配符和边...

2019-02-13 15:37:49 883

原创 springboot使用WebMvcConfigurerAdapter添加javabean配置(Interceptor/messageConvert等)

WebMvcConfigurerAdapter配置类其实是Spring内部的一种配置方式,我们可以在里面声明一些javabean来进行个性化的定制继承WebMvcConfigurerAdapter类,并加上@Configuration注解1、拦截器  ,只要重写 addInterceptors方法就可以添加拦截器@Configurationpublic class LocaleCo...

2018-11-19 11:03:58 579

原创 spring jpa 列名映射问题Unknown column 'redisrole0_.create_date' in 'field list',@column无效

 在使用spring jpa 访问数据库表时,在实体类上定义的@column 会无效,package com.lujia.domain;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.Table...

2018-11-16 16:15:15 4701 5

原创 设计模式之工厂模式(行为模式)

设计模式(design pattern) 是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。java中的设计模式:常见的23中设计模式,可以分为三种类型 创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原...

2018-09-09 18:23:17 458

原创 springboot-整合mybatis

1.idea创建springboot工程工程目录2.  pom.xml依赖如下 &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan...

2018-09-09 16:41:53 113

原创 git 不用每次输入用户名密码

首先输入 git config --global credential.helper store 命令,然后在git pull或者push的时候会要求你输入用户名或者密码,输入一次之后就会保存下来,下次在操作就不会要求输入用户名和密码了...

2018-04-20 21:00:23 520

原创 docker--使用docker搭建redis集群

1.redis介绍(百度来的)Redis是一款开源的、高性能的键-值存储(key-value store),它是用ANSI C来编写。Redis的项目名是Remote Dictionary Server的缩写,但它常被称作是一款数据结构服务器(data structureserver)。Redis的键值可以包括字符串(strings)、哈希(hashes)、列表(lists)、集合(set

2017-08-10 09:52:05 656

原创 java--几种单例式

单例模式是我们经常用的设计模式之一,下面记一下几种常用的单例模式的写法,方便自己查阅1.饿汉单例模式--缺点就是不能延迟加载 class SingltonDemoOne{ private static SingltonDemoOne singltonDemoOne=new SingltonDemoOne(); private SingltonDemoOne() { ...

2017-08-10 09:08:26 148

原创 java--多线程

1,java中线程的生命周期和5种状态经典图线程的生命周期中有5种状态01:新建状态 (new 一个线程),就是我们new 一个线程对象,此时线程是新建状态 02:就绪状态(runnable),调用线程的start()方法,线程就进入了就绪状态 ,调用start方法的线程并不一定会马上就开始执行,就绪状态表示线程做好了准备,随时等待cpu有资源的时候执行。 03:运...

2017-08-03 17:13:55 202

原创 maven—profiles区分环境的配置文件

在我们的开发过程中一般会有 本地--测试--预发布--生产 几个环境,相对应的数据库连接配置等的一些配置信息都是不一样的,使用maven 的profiles 可以很方便的来区分这些配置文件在项目的pom文件中定义 test true

2017-08-03 09:35:06 1551

原创 docker--安装tomcat

上一篇介绍了win10安装docker ,今天来搞一下docker的基本操作,看看docker可以用来干什么(相信很多小伙伴在看刚看docker的资料的时候都很疑惑)

2017-08-01 16:58:43 275

原创 win10安装docker

1.系统:win10 专业版,10586 之后的版本2.下载docker for windows  地址:https://download.docker.com/win/stable/InstallDocker.msi3.开启windos的 hyper-v功能,控制面板-程序-启用关闭windows功能-勾选hyper-v,重启4.安装点击就可以运行了,我们

2017-08-01 11:30:00 215

原创 maven jar包上传--POM was created by Sonatype Nexus问题

今天遇到一个奇葩问题,记一下别的项目组同事更新了jar包,给了我一份让我上传到私库,贴一下我上传的方式,结果在项目中导入这个包的时候,包里面的pom文件居然变了,jar包里面的依赖不见了 POM was created by Sonatype Nexus造成的后果就是jar包依赖的东西都不能自动导入,好多类找不到, 把packaging改成pom还是不行,百度也是找不到答案

2017-07-28 10:10:00 3775

原创 Stirng-Stringbuild-Stringbuffer区别

1.String 先来看一段代码public class StringTest { @org.junit.Test public void fun(){ String a="123"; String a1="123"; String b=new String("123"); String c= new Strin

2017-07-20 11:43:35 209

原创 idea-快捷键

最近开始使用idea,记录下使用的快捷键,方便记忆1,idea设置快捷键,我设置的是eclipse风格的2.常用的快捷键ctrl +shift + f9 :编译修改的文件ctrl +f :查找ctrl +r :替换ctrl +tab :切换视图双击shift :快速查找打开文件f4:打开类继承体系结构 ctrl +t :打开类或方法的实现ctrl +

2017-07-20 11:02:59 192

原创 idea主题设置

idea设置主题idea默认的主题有3种,darcula就是黑的那种,idea默认使用的是intellij,全白的2.设置代码背景字体样式百度  idea主题样式,可以用这里的  http://www.riaway.com/  最后设置下字体大小  file-->setting-->editor-->font

2017-07-19 11:44:39 498

原创 springboot-整合mybatis

1.idea创建springboot工程工程目录2.  pom.xml依赖如下这里最主要的就是mybatis-spring-boot-starter的依赖,<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:s

2017-07-18 18:07:34 241

原创 springboot-devtools热部署

在springboot下启动热部署非常简单只需要添加spring-boot-devtools的依赖即可重启之后就可以热部署了

2017-07-18 11:46:35 195

空空如也

空空如也

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

TA关注的人

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