我想编写一个批处理,每天从路径读取网站访问日志文件(csv文件),并使用spring集成进行一些分析。
这是输入csv文件的简化版本。
srcIp1,t1,path1 srcIp2,t2,path2 srcIp1,t3,path2 srcIp1,t4,path1
每个源ip和路径的访问号码将在一些过滤逻辑之后计算。
我创建了一个输入通道,其有效负载是已解析的日志行,并应用了一个过滤器,最后是一个聚合器来计算最终结果。 问题是什么应该是正确的组发布stragety,默认发布stragety(SequenceSizeReleaseStrategy)不起作用。
还有任何其他弹簧整合开箱即用
策略(ExpressionEvaluatingReleaseStrategy, MessageCountReleaseStrategy,MethodInvokingReleaseStrategy, SequenceSizeReleaseStrategy,TimeoutCountSequenceSizeReleaseStrategy)
似乎不符合我的需要。
或者Spring集成假设一个频道带有一个消息流,其中没有"消息结束的消息"并不是我的问题在这里suitalbe?
答案 0 :(得分:0)
如果您有办法告诉小组何时完成,您可以编写自定义ReleaseStrategy
。每次将消息添加到组中时都会参考。
或者,您可以使用group-timeout
在没有消息到达的一段时间后释放部分群组。