随笔- 2038  评论- 180  文章- 4 
  2019年8月9日
正文内容加载中...
posted @ 2019-08-09 17:42 duanxz 阅读 (94) 评论 (0) 编辑
摘要:前言spring boot 的自动化配置其实就是在spring 的基础上做的封装,在我们之前对mvc,aop的自动化配置中可以发现–> 只是在spring 的基础上添加了一些特性,可以认为只是一个spring的应用.那么,关于transaction的配置也同样. 解析和aop自动配置一样,在/MET 阅读全文
posted @ 2019-08-09 17:39 duanxz 阅读 (51) 评论 (0) 编辑
摘要:前言接下来的几篇文章我们来分析一下spring-boot-actuator 中在org.springframework.boot.actuate.metrics中的代码,如图: 这里的代码不仅多,而且还比较复杂(类与类之间的关联关系).我们的策略是一点一点的蚕食,本文就先来分析PublicMetri 阅读全文
posted @ 2019-08-09 17:37 duanxz 阅读 (61) 评论 (0) 编辑
摘要:前言这篇文章我们来分析一下org.springframework.boot.actuate.security,org.springframework.boot.actuate.audit中的代码,这2个包的类是对spring security 的事件进行处理的.类图如下: 二、源码解析 2.1、Au 阅读全文
posted @ 2019-08-09 16:09 duanxz 阅读 (45) 评论 (0) 编辑
  2019年8月6日
摘要:1、配置 2、结果: 自定义Bean,通过JMX暴露 下面的controller为了测试,改变数据, 结果: 阅读全文
posted @ 2019-08-06 17:54 duanxz 阅读 (35) 评论 (0) 编辑
  2019年8月5日
摘要:本文接着《Springboot Actuator之七:actuator 中原生endpoint源码解析1》,前面主要分析了原生endpoint的作用。 现在着重了解actuator的执行原理。 在前面一篇文章中,我们已经了解endpoint的暴露方式有http(spring MVC)协议,jmx协议 阅读全文
posted @ 2019-08-05 18:06 duanxz 阅读 (100) 评论 (0) 编辑
摘要:看actuator项目的包结构,如下: 本文中的介绍Endpoints。 Endpoints(端点)介绍 Endpoints 是 Actuator 的核心部分,它用来监视应用程序及交互,spring-boot-actuator中已经内置了非常多的Endpoints(health、info、beans 阅读全文
posted @ 2019-08-05 11:41 duanxz 阅读 (100) 评论 (0) 编辑
该文被密码保护。
posted @ 2019-08-05 10:40 duanxz 阅读 (2) 评论 (0) 编辑
  2019年8月2日
摘要:今天有个别项目的jolokia的endpoint不能访问,调试源码发现:endpoint.enabled的开关导致的。 关于Endpoint, 《Springboot Endpoint之二:Endpoint源码剖析》 之前的几篇文章分析了spring boot 中有关endpoint的实现,细心的朋 阅读全文
posted @ 2019-08-02 17:55 duanxz 阅读 (48) 评论 (0) 编辑
  2019年7月31日
摘要:springboot的actuator内置了/health的endpoint,很方便地规范了每个服务的健康状况的api,而且HealthIndicator可以自己去扩展,增加相关依赖服务的健康状态,非常灵活方便而且可扩展。 /health实例 health的Status枚举 org.springfr 阅读全文
posted @ 2019-07-31 14:45 duanxz 阅读 (65) 评论 (0) 编辑
  2019年7月30日
摘要:springcloud线上一个问题,当config-server连不上git时,微服务集群慢慢的都挂掉。 在入口层增加了日志跟踪问题: org.springframework.cloud.config.server.environment.EnvironmentController.java 健康检 阅读全文
posted @ 2019-07-30 19:29 duanxz 阅读 (96) 评论 (0) 编辑
  2019年7月26日
摘要:三种监听器的关系 ApplicationListener、SpringApplicationRunListeners、SpringApplicationRunListener的关系: SpringApplicationRunListeners类和SpringApplicationRunListene 阅读全文
posted @ 2019-07-26 18:12 duanxz 阅读 (195) 评论 (0) 编辑
摘要:CommandLineRunner并不是Spring框架原有的概念,它属于SpringBoot应用特定的回调扩展接口: 关于CommandLineRunner,我们需要关注的点有两个: 跟其他几个扩展点接口类型相似,我们建议CommandLineRunner的实现类使用@org.springfram 阅读全文
posted @ 2019-07-26 17:24 duanxz 阅读 (54) 评论 (0) 编辑
摘要:ApplicationContextInitializer是Spring框架原有的东西,这个类的主要作用就是在ConfigurableApplicationContext类型(或者子类型)的ApplicationContext做refresh之前,允许我们对ConfiurableApplicatio 阅读全文
posted @ 2019-07-26 17:22 duanxz 阅读 (253) 评论 (0) 编辑
  2019年7月24日
摘要:SpringBootServletInitializer 熟悉了SpringApplication的原理之后,我们再来了解SpringBootServletInitializer的原理就比较容易了。 public class ServletInitializer extends SpringBoot 阅读全文
posted @ 2019-07-24 16:35 duanxz 阅读 (74) 评论 (0) 编辑
  2019年7月23日
摘要:启动方式 方式1:在main方法中执行SpringApplication.run()这种方式来启动我们的工程 方式二:SpringApplication.run()的底层其实就是new了一个SpringApplication的对象 方式三:SpringApplicationBuilder 有时我们需 阅读全文
posted @ 2019-07-23 18:16 duanxz 阅读 (258) 评论 (0) 编辑
摘要:先看示例 SpringBoot的启动很简单,在许多情况下,你可以委托给静态SpringApplication.run方法,代码如下: @SpringBootApplication public class MyApplication { public static void main(String[ 阅读全文
posted @ 2019-07-23 11:05 duanxz 阅读 (123) 评论 (0) 编辑
  2019年6月21日
摘要:Spring Cloud 框架最底层核心的组件就是服务调用方式,一般Spring Cloud框架采用的是HTTP的调用框架,本文将在 Spring Cloud应用场景下,介绍组件OkHttp3的设计原理。 1. Spring Cloud的接口调用工作模式 Spring Cloud接口调用基本工作方式 阅读全文
posted @ 2019-06-21 18:31 duanxz 阅读 (409) 评论 (0) 编辑
  2019年5月30日
摘要:HystrixCommand在执行的过程中如何探测超时,本篇主要对此进行介绍说明。 1.主入口:executeCommandAndObserve #com.netflix.hystrix.AbstractCommand#executeCommandAndObserve private Observa 阅读全文
posted @ 2019-05-30 15:49 duanxz 阅读 (167) 评论 (0) 编辑
摘要:前言Hystrix提供了基于信号量和线程两种隔离模式,通过在Hystrix基础章节中已经验证过,通过@HystrixCommand注解的方法体将在新的线程中执行,这样会带来些什么意想不到的意外呢,先来看一个示例:1、定义一个webapi,通过RequestContextHolder设定一个当前线程的 阅读全文
posted @ 2019-05-30 15:26 duanxz 阅读 (280) 评论 (1) 编辑
  2019年5月9日
摘要:MongoDB与关系型数据库的建模还是有许多不同,因为MongoDB支持内嵌对象和数组类型。MongoDB建模有两种方式,一种是内嵌(Embed),另一种是连接(Link)。那么何时Embed何时Link呢?那得看两个实体之间的关系是什么类型。 一对一的关系:Embed,比如用户信息集合有Addre 阅读全文
posted @ 2019-05-09 15:49 duanxz 阅读 (1278) 评论 (0) 编辑
  2019年4月28日
摘要:项目中用到了mongodb(3.x版本),业务上需要操作mongodb的多个collections,希望要么同时操作成功,要么回滚操作保持数据的一致性,这个实际上要求在mongodb上实现事务功能,在网上查了下资料,发现了两阶段提交的方案,不过网上基本上都是翻译,很少有人具体分析原理的,今天花了些时 阅读全文
posted @ 2019-04-28 17:51 duanxz 阅读 (217) 评论 (0) 编辑
  2019年4月19日
摘要:1. MongoDB 使用的锁 MongoDB 使用的是“readers-writer”锁, 可以支持并发但有很大的局限性当一个读锁存在,许多读操作可以使用这把锁,然而, 当一个写锁的存在,一个单一的写操作会”exclusively“持有该锁,同一时间其它写操作不能使用共享这个锁;举个例子,假设一个 阅读全文
posted @ 2019-04-19 17:53 duanxz 阅读 (478) 评论 (0) 编辑
摘要:读写锁 Mongodb使用读写锁来来控制并发操作: 当进行读操作的时候会加读锁,这个时候其他读操作可以也获得读锁。但是不能或者写锁。 当进行写操作的时候会加写锁,这个时候不能进行其他的读操作和写操作。 所以按照这个道理,是不会出现同时修改同一个文档(如执行++操作)导致数据出错的情况。 而且按照这个 阅读全文
posted @ 2019-04-19 15:18 duanxz 阅读 (265) 评论 (0) 编辑
  2019年4月18日
摘要:1、http远程请求报错 内核参数修改: 阅读全文
posted @ 2019-04-18 17:59 duanxz 阅读 (140) 评论 (0) 编辑