对象生命周期和线程安全编辑

Java API 客户端中有五种不同生命周期的对象。

对象映射器
无状态且线程安全,但创建成本可能很高。它通常是应用程序启动时创建的单例,用于创建传输。
传输
线程安全,通过底层 HTTP 客户端持有网络资源。传输对象与 Elasticsearch 集群相关联,必须显式关闭以释放底层资源,例如网络连接。
客户端
不可变、无状态且线程安全。这些是非常轻量级的对象,它们只是包装了一个传输并提供 API 端点作为方法。
构建器
可变、非线程安全。构建器是瞬态对象,在调用 build() 后不应重用。
请求和其它 API 对象
不可变、线程安全。如果您的应用程序反复使用相同的请求或请求的相同部分,则可以预先准备这些对象,并在多个客户端(具有不同的传输)上跨多个调用重复使用。