1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package org.apache.hc.core5.testing.classic;
29
30 import org.apache.hc.core5.http.HttpHost;
31 import org.apache.hc.core5.pool.ConnPoolListener;
32 import org.apache.hc.core5.pool.ConnPoolStats;
33 import org.apache.hc.core5.pool.PoolStats;
34 import org.slf4j.LoggerFactory;
35 import org.slf4j.Logger;
36
37 public class LoggingConnPoolListener implements ConnPoolListener<HttpHost> {
38
39 public final static LoggingConnPoolListener INSTANCE = new LoggingConnPoolListener();
40
41 private final Logger connLog = LoggerFactory.getLogger("org.apache.hc.core5.http.connection");
42
43 private LoggingConnPoolListener() {
44 }
45
46 @Override
47 public void onLease(final HttpHost route, final ConnPoolStats<HttpHost> connPoolStats) {
48 if (connLog.isDebugEnabled()) {
49 final StringBuilder buf = new StringBuilder();
50 buf.append("Leased ").append(route).append(" ");
51 final PoolStats totals = connPoolStats.getTotalStats();
52 buf.append(" total kept alive: ").append(totals.getAvailable()).append("; ");
53 buf.append("total allocated: ").append(totals.getLeased() + totals.getAvailable());
54 buf.append(" of ").append(totals.getMax());
55 connLog.debug(buf.toString());
56 }
57 }
58
59 @Override
60 public void onRelease(final HttpHost route, final ConnPoolStats<HttpHost> connPoolStats) {
61 if (connLog.isDebugEnabled()) {
62 final StringBuilder buf = new StringBuilder();
63 buf.append("Released ").append(route).append(" ");
64 final PoolStats totals = connPoolStats.getTotalStats();
65 buf.append(" total kept alive: ").append(totals.getAvailable()).append("; ");
66 buf.append("total allocated: ").append(totals.getLeased() + totals.getAvailable());
67 buf.append(" of ").append(totals.getMax());
68 connLog.debug(buf.toString());
69 }
70 }
71
72 }