我想用JDBC ResultSet
创建一个Akka Source流,也许用fromIterator
。
(我知道Alpakka为SlikSession
提供了这样的源,但我没有选择从旧式DataSource
连接池创建Alpakka源流的选择,而我想共享相同的连接Akka流和一些旧的普通SQL查询的存储池。
我找到了问题Stream records from DataBase using Akka Stream的答案
我剩下的唯一问题是:如何清理数据源?像关闭ResultSet
一样?
据说总是关闭资源是个好习惯。
答案 0 :(得分:2)
Source.unfoldResource
是您的朋友,请参见https://doc.akka.io/docs/akka/current/stream/operators/Source/unfoldResource.html#source-unfoldresource此处的文档
它接受三种功能,一种是打开资源,一种是提取要发射的下一个元素,一种是在完成或流失败时关闭资源等。