in httpclient5/src/main/java/org/apache/hc/client5/http/impl/io/BasicHttpClientConnectionManager.java [268:299]
private void validate() {
if (this.conn != null) {
final TimeValue timeToLive = connectionConfig.getTimeToLive();
if (TimeValue.isNonNegative(timeToLive)) {
final Deadline deadline = Deadline.calculate(created, timeToLive);
if (deadline.isExpired()) {
closeConnection(CloseMode.GRACEFUL);
}
}
}
if (this.conn != null) {
final TimeValue timeValue = connectionConfig.getValidateAfterInactivity() != null ?
connectionConfig.getValidateAfterInactivity() : TimeValue.ofSeconds(2);
if (TimeValue.isNonNegative(timeValue)) {
final Deadline deadline = Deadline.calculate(updated, timeValue);
if (deadline.isExpired()) {
boolean stale;
try {
stale = conn.isStale();
} catch (final IOException ignore) {
stale = true;
}
if (stale) {
if (LOG.isDebugEnabled()) {
LOG.debug("{} connection {} is stale", id, ConnPoolSupport.getId(conn));
}
closeConnection(CloseMode.GRACEFUL);
}
}
}
}
}