聊聊httpclient的ConnectionHolder

2023-11-28
阅读 9 分钟
250
序本文主要研究一下httpclient的ConnectionHolderConnectionReleaseTriggerorg/apache/http/conn/ConnectionReleaseTrigger.java {代码...} ConnectionReleaseTrigger定义了releaseConnection、abortConnection方法ConnectionHolderorg/apache/http/impl/execchain/ConnectionHolder.java {代码...} ConnectionHolder实...

聊聊tomcat的keepAlive参数

2023-11-27
阅读 19 分钟
278
序本文主要研究一下tomcat的keepAlive参数maxKeepAliveRequestsorg/apache/tomcat/util/net/AbstractEndpoint.java {代码...} AbstractEndpoint定义了maxKeepAliveRequests属性,默认为100Http11Processororg/apache/coyote/http11/Http11Processor.java {代码...} Http11Processor的service方法会从protocol获取maxKeep...

聊聊httpclient的connect

2023-11-26
阅读 8 分钟
218
HttpClientConnectionOperator定义了connect及upgrade方法,它有一个默认的实现类为DefaultHttpClientConnectionOperator

聊聊httpclient的getPoolEntryBlocking

2023-11-25
阅读 9 分钟
219
AbstractConnPool提供了getPoolEntryBlocking,lease内部就是通过这个方法来获取连接的。它主要是通过pool.getFree获取空闲连接,然后进行过期判断,再判断是否close,如果已经close则从available中移除,获取成功的话则从available移除,添加到leased然后返回。如果获取不到则先判断连接是否超出maxPerRoute,超出则先...

聊聊httpclient的staleConnectionCheckEnabled

2023-11-24
阅读 15 分钟
237
RequestConfig定义了staleConnectionCheckEnabled属性,在4.4版本废弃了,默认为false,替换设置是org.apache.http.impl.conn.PoolingHttpClientConnectionManager.setValidateAfterInactivity(int);Builder方法也提供了setStaleConnectionCheckEnabled方法

聊聊tomcat的connection-timeout

2023-11-23
阅读 7 分钟
282
springboot的ServerProperties.Tomcat定义了connectionTimeout属性,用于指定接受连接之后等待uri的时间

聊聊TraceIdPatternLogbackLayout

2023-11-22
阅读 12 分钟
230
org/apache/skywalking/apm/toolkit/log/logback/v1/x/TraceIdPatternLogbackLayout.class

聊聊logback的ThresholdFilter

2023-11-21
阅读 4 分钟
194
ThresholdFilter继承了Filter,其decide方法从ILoggingEvent获取level,若该level大于等于指定的level则返回NEUTRAL,否则返回DENY

聊聊logback的LevelFilter

2023-11-20
阅读 2 分钟
185
序本文主要研究一下logback的LevelFilterAbstractMatcherFilterch/qos/logback/core/filter/AbstractMatcherFilter.java {代码...} AbstractMatcherFilter继承了Filter,它定义了onMatch及onMismatch属性LevelFilterch/qos/logback/classic/filter/LevelFilter.java {代码...} LevelFilter继承了AbstractMatcherFilter,...

聊聊httpclient的disableConnectionState

2023-11-19
阅读 5 分钟
205
HttpClientBuilder提供了disableConnectionState方法可以设置connectionStateDisabled为true,在该值为true时userTokenHandlerCopy为NoopUserTokenHandler.INSTANCE,而userTokenHandlerCopy是作为创建ClientExecChain(MainClientExec)的参数之一

聊聊httpclient的validateAfterInactivity

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

聊聊logback的EvaluatorFilter

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

聊聊logback的MarkerFilter

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

聊聊logback的MDCFilter

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

聊聊logback的DynamicThresholdFilter

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

聊聊logback的DuplicateMessageFilter

2023-11-13
阅读 4 分钟
170
序本文主要研究一下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 分钟
247
isDebugEnabled先通过callTurboFilters获取debug级别的FilterReply,若为DENY返回false,若为ACCEPT返回true,若为NEUTRAL则判断effectiveLevelInt是否小于等于DEBUG_INT

聊聊LogbackMDCAdapter

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

聊聊logback的TimeBasedRollingPolicy

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

聊聊logback的FixedWindowRollingPolicy

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

聊聊logback的ShutdownHook

2023-11-08
阅读 3 分钟
225
序本文主要研究一下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 分钟
187
StatusManager接口针对status定义了add、getCopyOfStatusList、getCount、clear方法,针对StatusListener定义了add、remove、getCopyOfStatusListenerList方法

聊聊logback的StatusListener

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

聊聊logback的UNDEFINED_PROPERTY

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

聊聊springboot的SpringPropertyAction

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

聊聊springboot的LogbackLoggingSystem

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

聊聊springboot的LoggersEndpoint

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

聊聊springboot的logback配置

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

聊聊logback的FileAppender

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

聊聊logback的OutputStreamAppender

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