【发布时间】:2018-01-01 11:42:45
【问题描述】:
我们有一个 Jetty Http2 客户端,大致如 here 示例所示。
客户端处理的每个请求都会调用session.newStream(...)。似乎旧流不是 GC-ed。但是,我们似乎无法在 API 中找到回收它们或关闭它们的好方法。
我们是否应该使用streamPromise.get().setIdleTimeout(t) 设置一个非常小的空闲超时?
我们是否应该保留 Stream 对象,在交换完成时标记它,然后重用它?不过在这种情况下,我们还需要回收监听器,这使得它是有状态的。
有没有办法“关闭”一个 Stream 对象,或者将其标记为 GC?简单地将其设置为 null 似乎不太像 API。
【问题讨论】: