使用 Akka 流从迭代器创建源流时如何进行清理?

How to make cleanup when creating a source stream from iterator with Akka stream?

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

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

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