Google 云数据流:如何为每个工作人员(单例)仅初始化一次 Hikari 连接池?

Google Cloud dataflow : How to initialize Hikari connection pool only once per worker (singleton)?

Hibernate Utils 正在创建会话工厂以及 Hikari 配置。 目前我们在 ParDo 的 @Setup 方法内部进行操作,但它打开了太多连接。那么有没有什么好的例子来初始化每个工人的连接池?

如果您在 DoFn 中使用 @Setup 方法创建数据库连接,请记住 Apache Beam 会为每个工作实例线程创建连接池。这可能会导致大量数据库连接,具体取决于启动的工作人员数量。

您可以在 ParDo 中使用 Singleton class 来创建连接池并控制每个 worker 的连接数。您可以在此处查看示例实现

http://mail-archives.apache.org/mod_mbox/beam-issues/201905.mbox/%3CJIRA.13231789.1557156230000.210182.1557222420198@Atlassian.JIRA%3E