我想通过 DoFn 为在 Dataflow 上运行的 Apache Beam 管道发出 POST 请求。
为此,我创建了一个客户端,它实例化了在 PoolingHttpClientConnectionManager 上配置的 HttpClosableClient。
但是,我为我处理的每个元素实例化了一个客户端。
如何设置所有元素都使用的持久客户端?
我应该使用其他用于并行和高速 HTTP 请求的类吗?
我想通过 DoFn 为在 Dataflow 上运行的 Apache Beam 管道发出 POST 请求。
为此,我创建了一个客户端,它实例化了在 PoolingHttpClientConnectionManager 上配置的 HttpClosableClient。
但是,我为我处理的每个元素实例化了一个客户端。
如何设置所有元素都使用的持久客户端?
我应该使用其他用于并行和高速 HTTP 请求的类吗?
您可以将客户端放入成员变量中,使用@Setup
方法打开它,然后@Teardown
关闭它。Beam 中几乎所有 IO 的实现都使用这种模式,例如,请参阅JdbcIO。