摘要:
前言 如今,在 Java 开发中,日志的打印输出是必不可少的,Slf4j + LogBack 的组合是最通用的方式。 有了日志之后,我们就可以追踪各种线上问题。但是,在分布式系统中,各种无关日志穿行其中,导致我们可能无法直接定位整个操作流程。因此,我们可能需要对一个用户的操作流程进行归类标记,比如使 阅读全文
摘要:
MDCMDC(Mapped Diagnostic Context,映射调试上下文)是日志系统提供的一种方便在多线程条件下记录日志的功能 使用场景一个常用的场景就是Web服务器中给每个请求都分配一个独特的请求id,所有的日志都会打印这个请求id,这样一个请求下的所有日志信息都可以很方便的找到。 欢迎关 阅读全文
摘要:
背景 由于feign,默认只有debug的level,才能打印出日志。不太符合一般项目的log info level的约定。因此决定自定义feign的log打印。 目的 在info level下,可以打印feign日志 寻找线索 打开openfeign的核心包目录寻找log相关类 feign-1.p 阅读全文
摘要:
前言 IDEA中代码生成的方式有两种 Live Templates Postfix Completion 这两种方式中,第一种基本每一个IDE都支持,但是支持第二中的很少。 Live Templates 输出模板 1、sout,最基本的输出语句,快速生成 System.out.println(); 阅读全文
摘要:
Future介绍先来回顾下Future,Future是JDK1.5中添加的接口,主要功能为: 获取并发的任务完成后的执行结果;能够取消并发执行中的任务;判断并发任务是否执行完成;但Future也有着非常明显的缺点: 阻塞:调用 get() 方法会一直阻塞,直到等待直到计算完成;异常处理:Future 阅读全文
摘要:
1.简介 Aviator是一个高性能、轻量级的java语言实现的表达式求值引擎,主要用于各种表达式的动态求值。 2.Maven依赖 <dependency> <groupId>com.googlecode.aviator</groupId> <artifactId>aviator</artifact 阅读全文
摘要:
MBean,MXBean简介MBean是一个托管的java bean对象,MBean是一个托管Java对象,类似于JavaBeans组件,遵循JMX(Java Management Extensions,即Java管理扩展)规范中规定的设计模式。MBean可以表示任何需要管理的资源。MBeans 公 阅读全文
摘要:
@Validated和@Valid的区别 在Controller中校验方法参数时,使用@Valid和@Validated并无特殊差异(若不需要分组校验的话): @Valid:标准JSR-303规范的标记型注解,用来标记验证属性和方法返回值,进行级联和递归校验 @Validated:Spring的注解 阅读全文
摘要:
EventBus是Guava中对于事件发布订阅功能的实现,是设计模式中的发布/订阅模式的一种实现方案。 功能概括: 通过eventBus.register注册订阅者,通过eventBus.post方法发布事件,然后根据发布事件的类型(classType),执行所有订阅者中被@Subcribe注解标记 阅读全文
摘要:
简介缓存介绍Spring 从 3.1 开始就引入了对 Cache 的支持。定义了 org.springframework.cache.Cache 和 org.springframework.cache.CacheManager 接口来统一不同的缓存技术。并支持使用 JCache(JSR-107)注解 阅读全文