使用 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
它接受三个函数,一个打开资源,一个提取下一个要发出的元素,一个在完成或流失败时关闭资源等。
我想从 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
它接受三个函数,一个打开资源,一个提取下一个要发出的元素,一个在完成或流失败时关闭资源等。