Jersey 2.22:我什么时候应该关闭Client实例?

时间:2016-05-12 20:44:46

标签: java jersey client

在我的MVC Web应用程序中,我的服务依赖于Client实例来创建对Web服务的HTTP请求。根据Jersey文档,初始化和销毁​​客户端对象非常昂贵,所以我做的只是创建了一个单例Client实例:

private static final Client client = ClientBuilder.newClient();

我的问题是,何时应关闭此实例?因为似乎唯一一次我不会使用Client是应用程序终止的时候。

1 个答案:

答案 0 :(得分:1)

如果您以某种方式将其定义为Singleton,那么您实际上并不需要 - 它与您的应用程序一起生存和死亡。有时,您可能会针对特定的短期或中期需求定义客户端实例(例如,您有一个应用程序可以说明在应用程序生命周期内发生变化的多个远程端点)。在这些情况下,最好在某个时候明确关闭客户端,以明确说明它不是为了重用。棘手的部分可能是定义“在某些时候”真正意味着什么。