Alpakka Cassandra流量用法

时间:2017-09-19 21:27:28

标签: akka-stream alpakka

我正在阅读Alpakka Cassandra here

的文档

使用Cassandra作为源和接收器非常容易。但是如何使用流量呢。

通过流量使用,我的意思是我没有使用Cassandra作为源或接收器。但要查找数据。

是否可以使用Alpakka?或者我是否必须自己在流程中编写Cassandra jdbc代码?

1 个答案:

答案 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)来源。您可以随时通过FlowSource获得.flatMapConcat(x => CassandraSource(...)