我需要通过在输入字符串上应用一组正则表达式来将输入字符串拆分成输出字符串(以某种顺序)。我想用akka参与者集群来实现这个功能,这样我就可以分散正则表达式和输入字符串,然后收集字符串。然而,我想知道在收集回处理后的字符串时,如何跟踪订单。我不确定“分散-聚集”是不是正确的方法,如果有其他合适的方法,请建议。
发布于 2013-09-19 21:44:22
我猜你必须向采集者提供关于如何按顺序组装绳子的提示。您没有提到顺序是如何建立的:初始拆分是否可以定义顺序,或者正则表达式处理是否会定义它。
在这两种情况下,你都需要跟踪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来知道何时所有的片段都存在。
https://stackoverflow.com/questions/18890267
复制相似问题