java - 用于字符串处理的 Akka 分散-聚集

标签 java scala akka scatter akka-cluster

我需要将输入字符串拆分为输出字符串(按一定顺序) 通过在输入字符串上应用一组正则表达式。我想实现 这个功能与 akka Actor 集群一起使用,我将其分散 正则表达式和输入字符串并收集字符串。不过我想知道 在收集处理后的字符串时,如何跟踪顺序。我不是 确定“分散-聚集”是否是正确的方法,如果还有其他方法 可以适合请推荐。

最佳答案

我猜你必须向收集者提供有关如何按顺序组装字符串的提示。您没有提及顺序是如何建立的:初始分割是否可以定义顺序,或者正则表达式处理是否可以定义顺序。

在这两种情况下,您都需要跟踪 3 件事: - 最初的来源, - 每件作品的顺序 - 总件数

您可以使用如下消息:

case class StringSegment(id:String, total:Int, seqNr:Int, payload:String)

分散器根据输入生成StringSegment:

def scatter(s:String):List[StringSegment] ...
scatter(input).foreach(msg => processingActor ! msg)

收集者会将它们组装在一起,使用seqNr来了解顺序,使用total来了解所有碎片何时出现。

关于java - 用于字符串处理的 Akka 分散-聚集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18890267/

相关文章:

java - 对采用列表作为参数的方法进行单元测试

java - libGDX And​​roid 项目上的 Box2dLights

arrays - 具有不同数据类型的 Scala 数组

ios - 从 iOS 发送 C++ Protocol Buffer 消息

scala,喷雾,akka - java.lang.OutOfMemoryError : unable to create new native thread

java - 如何摆脱 Java 中 MigLayout 的自动插入?

java - java 中 native sun.misc.Unsafe 操作的源代码

scala - 有没有办法在 Scala 解释器中退出电源模式?

java - 我可以确定正则表达式模式匹配的第一个字符集吗?

scala - 如何在带有加密密码的 Scala 中使用 Typesafe 的配置