0

我正在编写一个小型包装库,它允许我使用 Dropwizard Metrics 监控 OkHttpClient 的内部结构:https ://github.com/raskasa/metrics-okhttp 。

我在正确检测时遇到了一些麻烦ConnectionPool- 具体来说,定期调用getConnectionCount()以监视打开的 TCP 连接的数量。

当一个实例OkHttpClient最初被创建时,getConnectionPool()它是空的——这是我所期待的。但是,即使在执行某些网络请求期间/之后,后续访问池的尝试仍会返回 null。

我假设有适当的方法来监控它,ConnectionPool因为它是公共 API 的一部分,但我目前还没有清楚地看到它。

所以:

  • 有没有办法在没有ConnectionPool的地方访问?OkHttpClient.getConnectionPool()null
  • 如果这不是最好的方法,有什么建议可以更好地解决这个问题吗?
4

1 回答 1

0

试试这个:

OkHttpClient client = ...
client.setConnectionPool(ConnectionPool.getDefault());

无论如何,这将为您提供相同的连接池,但它会更快地提供给您。

于 2015-07-18T06:41:34.267 回答