gpt4 book ai didi

oracle - Apache Camel : how to split sql result into groups

转载 作者:行者123 更新时间:2023-12-04 15:56:55 24 4
gpt4 key购买 nike

How to split the result of sql query in apache camel ? 假设您将获得 1000 行结果,并且您希望不是一个一个地处理它们,而是分组处理它们,例如1 组 = 10 行。

以下 Apache Camel 配置查找具有给定 RECORD_ID 的记录,在下一步中,Camel“拆分器”迭代第一个查询的结果并运行另一个查询。

例如,如果我们得到 1000 行作为查询 db.query.select.active.record 的结果,那么第二个查询 db.query.select.compute.statistics 将运行 1000x(对于前一个查询的每一行)。由于性能不是最佳的,我们想创建一组 RECORD_IDs 例如:第一个查询将返回 1000 行,我们将把它分成 100 组(每组 10 行),然后我们只能运行 100 次查询。

示例配置:

<route>
<from uri="seda:retrieveAlphaData" />
<process ref="alphaResourceInitializer"/>
<to uri="sql:{{db.query.select.active.record}}" />
<camel:split>
<camel:simple>${in.body}</camel:simple>
<camel:setHeader headerName="recordId">
<camel:simple>${in.body[RECORD_ID]}</camel:simple>
</camel:setHeader>
<setBody>
<simple>${in.body[RECORD_NAME]}</simple>
</setBody>
<to uri="sql:{{db.query.select.compute.statistics}}" />
<process ref="allActiveRecordDataFormatTransformer" />
<camel:marshal ref="json" />
<to uri="bean:activeRecordSdbPersister?method=processIt" />
</camel:split>
</route>

最佳答案

在“sql:{{db.query.select.active.record}}”之后拆分路由怎么样?结果可以发送到 SEDA 端点,您可以配置 10 个 SEDA 消费者,它们将同时处理 10 条记录

关于oracle - Apache Camel : how to split sql result into groups,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16290215/

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