我需要将输入字符串拆分为输出字符串(按一定顺序) 通过在输入字符串上应用一组正则表达式。我想实现 这个功能与 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/