Google云java api客户端http连接池

Google云java api客户端http连接池,java,google-cloud-platform,google-bigquery,google-cloud-storage,Java,Google Cloud Platform,Google Bigquery,Google Cloud Storage,我正在为谷歌云存储和大查询创建默认连接: BigQueryOptions .getDefaultInstance() .getService() 及 我正在使用这些LIB: <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-storage</artifactId> <version>1.55.

我正在为谷歌云存储和大查询创建默认连接:

BigQueryOptions
.getDefaultInstance()
.getService()

我正在使用这些LIB:

  <dependency>
     <groupId>com.google.cloud</groupId>
     <artifactId>google-cloud-storage</artifactId>
     <version>1.55.0</version>
   </dependency>
   <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-bigquery</artifactId>
      <version>1.88.0</version>
   </dependency>

com.google.cloud
谷歌云存储
1.55.0
com.google.cloud
谷歌云大查询
1.88.0
我计划在多线程中使用单个大查询和存储java客户端

这些客户端是线程安全的吗?http连接池的默认大小是多少?我们可以更改http连接池的大小吗

这些客户端是线程安全的吗

如果您使用
poollighttpclientconnectionmanager
带有
@Contract(threading=SAFE\u CONDITIONAL)
的注释,这表明如果在构造时注入的依赖项是线程安全的,那么它是线程安全的

HTTP连接池的默认大小是多少?”

默认情况下,使用PoollightTPClientConnectionManager时,此实现将为每个给定路由创建不超过2个并发连接,总共不超过20个连接,如上所述

我们可以更改HTTP连接池的大小吗

是的,您实际上可以通过以下发布在中的示例更改HTTP连接池的大小


我希望这能有所帮助。

在询问SDK未记录的内部内容之前,我建议先解释一下您希望实现的目标。最好的解决方案可能与您对SDK的假设无关。(SDK是开源的,因此您可以亲自查看它们的功能,如果它们不适合您的需要,可以对其进行更改。)指定您所引用的SDK和版本。除非文档中有明确说明,否则不要假设线程安全。我使用的是bigquery 1.88.0和storage 1.55.0。我想要完成的是在多个线程之间使用单个存储和bigquery客户端。我想知道客户端是否是线程安全的,是否可以长期使用。谢谢,谢谢。这是否意味着默认客户端不是线程安全的,并且不能在多个线程之间共享?正如我在上一次响应中提到的,如果您使用
poollighttpclientconnectionmanager
,只有在构建时的依赖项是线程安全的,它才是线程安全的。如果您想考虑其他选项,您可以在这里深入讨论不同池连接的情况。我希望有帮助。
  <dependency>
     <groupId>com.google.cloud</groupId>
     <artifactId>google-cloud-storage</artifactId>
     <version>1.55.0</version>
   </dependency>
   <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-bigquery</artifactId>
      <version>1.88.0</version>
   </dependency>