gpt4 book ai didi

java - 如何使用驼峰聚合将一条消息聚合到多个组中?

转载 作者:行者123 更新时间:2023-11-30 04:10:15 25 4
gpt4 key购买 nike

我正在尝试生成连续市场数据的聚合 View ,这意味着我们需要计算每 2 条消息的总和值。假设传入的数据为:

(V0,T0),(V1,T1),(V2,T2),(V3,T3)....

V 表示值 T 表示我们收到数据时的时间戳。

我们需要为每 2 个点生成总和:

(R1=Sum(V0,V1),T1),(R2=Sum(V1,V2),T2),(R3=Sum(V2,V3),T3),....

有什么建议我们如何使用aggregator2来做到这一点,或者我们需要为此编写一个处理器?

最佳答案

你说得对,aggregator2组件是一个好的方法。我会尝试这样的事情:

from("somewhere").split(body().tokenize("),")).streaming()
.aggregate(new ValueAggregationStrategy()).completionTimeout(1500)
.to("whatYouWant");

class ValueAggregationStrategy implements AggregationStrategy {

public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
if (oldExchange == null) {
return newExchange;
}

String oldBody = oldExchange.getIn().getBody(String.class);
String newBody = newExchange.getIn().getBody(String.class);

oldExchange.getIn().setBody(extractValue(oldBody) + extractValue(newBody));
return oldExchange;
}

public int extractValue(String body) {
// Do the work "(V0,T0" -> "V0"
}
}

注意:如果你可以有这样的格式,解析会更容易:V0,T0;V1,T1...

了解更多信息: here是Claus Ibsen写的一篇关于用Camel解析大文件的文章

关于java - 如何使用驼峰聚合将一条消息聚合到多个组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19789585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com