我正在尝试实施CQRS解决方案。在我执行一些操作(执行命令)之后,我将生成的事件(例如,案例类)(例如:AccountCreated)传递给另一个actor,然后使用akka流将事件通过线路推送到某个外部接收器。
假设事件类型为Events
,我的发布角色接收函数看起来像这样
override def receive = {
case event: Events => {
//define my handlers/Sink etc.
//I should be able to pass my Events into Source()
val result = Source(event).via(Tcp().outgoingconnection(add, p)) //obv this will fail.
}
}
它需要一个Iterable [T],例如(1 to 100).map(ByteString(_))
可以工作。
即使通过Seq(1, 2, 3)
也无效。
/**
* Helper to create [[Source]] from `Iterable`.
* Example usage: `Source(Seq(1,2,3))`
如申请方法上方的源代码注释中所述。
TL;博士 我在演员中获得一个活动,一旦收到它,我需要将其添加到Akka流的源中。