【问题标题】:How to make cleanup when creating a source stream from iterator with Akka stream?使用 Akka 流从迭代器创建源流时如何进行清理?
【发布时间】:2020-03-22 01:56:09
【问题描述】:

我想从 JDBC ResultSet 创建一个 Akka 源流,可能使用 fromIterator
(我知道 Alpakka 为 SlikSession 提供了这样的源,但它没有让我选择从旧式 DataSource 连接池创建 Alpakka 源流,而我想为两个 Akka 共享相同的连接池流和一些旧的普通 SQL 查询)。
我找到了问题的答案Stream records from DataBase using Akka Stream
剩下的唯一问题是:如何清理数据源? 比如关闭 ResultSet?
据说总是关闭资源是个好习惯。

【问题讨论】:

    标签: scala akka slick akka-stream


    【解决方案1】:

    Source.unfoldResource 是你的朋友,请参阅此处的文档https://doc.akka.io/docs/akka/current/stream/operators/Source/unfoldResource.html#source-unfoldresource

    它接受三个功能,一个是打开资源,一个是提取下一个要发出的元素,一个是在完成或流失败时关闭资源等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      • 2020-03-05
      • 2017-09-24
      • 2019-01-05
      相关资源
      最近更新 更多