我正在阅读Alpakka Cassandra here
的文档使用Cassandra作为源和接收器非常容易。但是如何使用流量呢。
通过流量使用,我的意思是我没有使用Cassandra作为源或接收器。但要查找数据。
是否可以使用Alpakka?或者我是否必须自己在流程中编写Cassandra jdbc代码?
答案 0 :(得分:1)
1)接收器。如果您查看Alpakka的source code,您会发现接收器的构造如下
Flow[T]
.mapAsyncUnordered(parallelism)(t ⇒ session.executeAsync(statementBinder(t, statement)).asScala())
.toMat(Sink.ignore)(Keep.right)
如果您只需要传递流量,您可以随时删除Sink.ignore
部分,并且您将拥有
Flow[T]
.mapAsyncUnordered(parallelism)(t ⇒ session.executeAsync(statementBinder(t, statement)).asScala())
您只需要公开Guava期货转换器,该转换器目前是Alpakka的私有包。
2)来源。您可以随时通过Flow
从Source
获得.flatMapConcat(x => CassandraSource(...)