DoFn 中的 HTTP 客户端

HTTP Client in DoFn

我想通过 DoFn 为 Dataflow 上的 Apache Beam 管道 运行 发出 POST 请求。

为此,我创建了一个客户端,它实例化了在 PoolingHttpClientConnectionManager 上配置的 HttpClosableClient。

但是,我为我处理的每个元素实例化了一个客户端。

我如何设置我的所有元素都使用的持久客户端?

我应该使用其他 class 并行和高速 HTTP 请求吗?

可以把client放到一个成员变量中,用@Setup方法打开,用@Teardown关闭。 Beam 中几乎所有 IOs 的实现都使用这种模式,例如参见 JdbcIO