聊聊httpclient的validateAfterInactivity

2023-11-18
阅读 9 分钟
297
AbstractConnPool定义了validateAfterInactivity属性,与defaultMaxPerRoute、maxTotal不同,该属性没有在构造器参数中,而是提供了setter来设置

聊聊logback的EvaluatorFilter

2023-11-17
阅读 7 分钟
206
EvaluatorFilter继承了AbstractMatcherFilter,其decide方法在evaluator.evaluate(event)为true时返回onMatch,否则返回onMismatch,异常的话返回NEUTRAL

聊聊logback的MarkerFilter

2023-11-16
阅读 11 分钟
183
MarkerFilter定义了markerToMatch属性,其decide方法对于传入的marker为null返回onMismatch,对于包含markerToMatch的返回onMatch,否则返回onMismatch

聊聊logback的MDCFilter

2023-11-15
阅读 3 分钟
180
MatchingFilter继承了TurboFilter,它提供了setOnMatch及setOnMismatch方法,它们在action为NEUTRAL、ACCEPT、DENY时设置对应的onMatch、onMismatch

聊聊logback的DynamicThresholdFilter

2023-11-14
阅读 3 分钟
125
DynamicThresholdFilter继承了TurboFilter,它定义了valueLevelMap、defaultThreshold为ERROR,onHigherOrEqual为NEUTRAL,onLower为DENY

聊聊logback的DuplicateMessageFilter

2023-11-13
阅读 4 分钟
134
序本文主要研究一下logback的DuplicateMessageFilterTurboFilterch/qos/logback/classic/turbo/TurboFilter.java {代码...} TurboFilter继承了ContextAwareBase,声明实现LifeCycle接口,它定义了decide方法由子类实现DuplicateMessageFilterch/qos/logback/classic/turbo/DuplicateMessageFilter.java {代码...} Duplic...

聊聊logback的isDebugEnabled

2023-11-12
阅读 4 分钟
202
isDebugEnabled先通过callTurboFilters获取debug级别的FilterReply,若为DENY返回false,若为ACCEPT返回true,若为NEUTRAL则判断effectiveLevelInt是否小于等于DEBUG_INT

聊聊LogbackMDCAdapter

2023-11-11
阅读 9 分钟
183
slf4j定义了MDCAdapter接口,该接口定义了put、get、remove、clear、getCopyOfContextMap、setContextMap、pushByKey、popByKey、getCopyOfDequeByKey、clearDequeByKey方法

聊聊logback的TimeBasedRollingPolicy

2023-11-10
阅读 9 分钟
206
TimeBasedRollingPolicy继承了RollingPolicyBase,它定义了maxHistory、cleanHistoryOnStart、timeBasedFileNamingAndTriggeringPolicy等属性

聊聊logback的FixedWindowRollingPolicy

2023-11-09
阅读 8 分钟
155
RollingPolicy接口定义了rollover、getActiveFileName、getCompressionMode、setParent方法

聊聊logback的ShutdownHook

2023-11-08
阅读 3 分钟
172
序本文主要研究一下logback的ShutdownHookShutdownHookch/qos/logback/core/hook/ShutdownHook.java {代码...} ShutdownHook接口继承了Runnable、ContextAware接口ShutdownHookBasech/qos/logback/core/hook/ShutdownHookBase.java {代码...} ShutdownHookBase继承了ContextAwareBase,声明实现ShutdownHook,它提供了一...

聊聊logback的StatusManager

2023-11-07
阅读 7 分钟
134
StatusManager接口针对status定义了add、getCopyOfStatusList、getCount、clear方法,针对StatusListener定义了add、remove、getCopyOfStatusListenerList方法

聊聊logback的StatusListener

2023-11-06
阅读 3 分钟
200
StatusListener定义了addStatusEvent方法,注册到logback上下文的StatusManager的StatusListener将接收每个传入状态消息

聊聊logback的UNDEFINED_PROPERTY

2023-11-05
阅读 4 分钟
139
OptionHelper提供了substVars方法,它执行NodeToStringTransformer的substituteVariable方法

聊聊springboot的SpringPropertyAction

2023-11-03
阅读 3 分钟
185
org/springframework/boot/logging/logback/SpringBootJoranConfigurator.java

聊聊springboot的LogbackLoggingSystem

2023-11-02
阅读 13 分钟
182
LoggingSystem定义了beforeInitialize抽象方法,需要子类实现,,同时还提供了setLogLevel、getLoggerConfigurations、getLoggerConfiguration,默认是抛出UnsupportedOperationException

聊聊springboot的LoggersEndpoint

2023-11-01
阅读 4 分钟
137
springboot的actuator定义了LoggersEndpoint,它构造器依赖loggingSystem及loggerGroups

聊聊springboot的logback配置

2023-10-31
阅读 9 分钟
168
spring-boot包含了defaults.xml,它定义了一些conversionRule、CONSOLE_LOG_PATTERN、FILE_LOG_PATTERN变量以及一些logger

聊聊logback的FileAppender

2023-10-30
阅读 6 分钟
157
start方法要求fileName必须有值,在prudent模式下会强制开启append;另外start的时候会执行checkForFileCollisionInPreviousFileAppenders判断是否有冲突,没有冲突则执行openFile方法

聊聊logback的OutputStreamAppender

2023-10-29
阅读 6 分钟
159
logback-core/src/main/java/ch/qos/logback/core/OutputStreamAppender.java

聊聊logback的AsyncAppender

2023-10-28
阅读 8 分钟
88
AsyncAppender继承了AsyncAppenderBase,它新增了includeCallerData配置,另外覆盖了isDiscardable、preprocess方法,isDiscardable针对TRACE、DEBUG的级别返回true,INFO返回false;preprocess则判断是否includeCallerData,是的话则执行eventObject.getCallerData()

聊聊springboot的TomcatMetricsBinder

2023-10-27
阅读 10 分钟
198
org/springframework/boot/actuate/autoconfigure/metrics/web/tomcat/TomcatMetricsAutoConfiguration.java

聊聊HttpClient的close

2023-10-26
阅读 6 分钟
125
序本文主要研究一下HttpClient的closeCloseableHttpClientorg/apache/http/impl/client/CloseableHttpClient.java {代码...} CloseableHttpClient声明实现HttpClient, Closeable接口InternalHttpClientorg/apache/http/impl/client/InternalHttpClient.java {代码...} InternalHttpClient继承了CloseableHttpClient,其...

聊聊jedis连接池的预热

2023-10-25
阅读 2 分钟
232
这里取了maxIdle配置来进行预热,通过DirectFieldAccessor来获取jedisConnectionFactory对象的pool

聊聊springboot的liveness及readiness

2023-10-24
阅读 14 分钟
178
org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfiguration.java

聊聊线程池的预热

2023-10-23
阅读 1 分钟
314
序本文主要研究一下线程池的预热prestartCoreThreadjava/util/concurrent/ThreadPoolExecutor.java {代码...} ThreadPoolExecutor定义了prestartCoreThread,用于启动一个核心线程prestartAllCoreThreadsjava/util/concurrent/ThreadPoolExecutor.java {代码...} prestartAllCoreThreads用于启动所有的核心线程小结Threa...

聊聊KafkaListener的实现机制

2023-10-22
阅读 25 分钟
326
org/springframework/kafka/annotation/KafkaListenerAnnotationBeanPostProcessor.java

聊聊RocketMQMessageListener的实现机制

2023-10-21
阅读 21 分钟
345
实现了RocketMQListener接口的类,再配合@RocketMQMessageListener注解就可以实现对rocketmq消息的消费

聊聊DisposableBeanAdapter

2023-10-20
阅读 9 分钟
208
spring-beans/src/main/java/org/springframework/beans/factory/DisposableBean.java

聊聊InitDestroyAnnotationBeanPostProcessor

2023-10-19
阅读 10 分钟
127
spring-beans/src/main/java/org/springframework/beans/factory/annotation/InitDestroyAnnotationBeanPostProcessor.java