【发布时间】:2014-07-11 15:01:39
【问题描述】:
在 Java EE7 中,JAX-RS 客户端 API 提供了用于访问任何 REST 资源的高级 API。根据文档,“客户端是管理客户端通信基础设施的重量级对象。初始化和处置客户端实例可能是一项相当昂贵的操作。因此建议只构建少量应用程序中的客户端实例数。"
为了避免频繁创建客户端,我将缓存客户端实例并重用它。客户端实例线程是否安全,因为它可以被并发线程使用? 如果我只创建客户端实例并将其重用于所有请求,是否存在任何性能问题?
【问题讨论】:
-
很好的问题和 JAX-RS 规范中明显的遗漏。我有兴趣获得规范负责人对此的意见并提交建议以在规范中更明确地说明这一点。要么它是线程安全的,在这种情况下,您的应用程序中只需要一个实例。或者不是,每个线程至少需要一个实例。但是模糊的“因此建议在应用程序中只构建少量的客户端实例”这一行绝对没有信息价值。
标签: java multithreading rest jax-rs