如何在Apache Camel 3.20.0中使用XML将Splitter与Aggregate一起使用

vxf3dgd4  于 2023-05-17  发布在  Apache
关注(0)|答案(1)|浏览(95)

我想使用拆分器拆分包含100个Json对象的Json数组,并将其作为一组10个json对象发送到下一个路由
我使用的是Apache Camel 3.20.0
这就是我试过的

<route>
    < from uri : splitter>
    <split>
        <jsonpath>$</jsonpath>
        <aggregate aggregationStrategy= org.apache.camel.processor.aggregate.GroupedBodyAggregationStrategy
                   completionSize="10" completionTimeout="1000">
            <correlationExpression>
                <constant>true</constant>
            </correlationExpression>
            <marshal>
                <json></json>
            </marshal>
        </aggregate
    </split>
    < to uri : transformer>
</route>

但这是给我的错误
在注册表中找不到名称为:org.apache.camel.processor.aggregate.GroupedBodyAggregationStrategy.
如何做到这一点?

efzxgjgh

efzxgjgh1#

Camel“aggregationStrategy”属性必须是注册bean的名称,而不是bean类名。
正确使用示例:

<bean id="myStrategy" class="org.apache.camel.processor.aggregate.GroupedBodyAggregationStrategy"/>

<camelContext>
    <route>
        <from uri="..."/>
        ...
        <aggregate aggregationStrategy="myStrategy">
          
        </aggregate>
    </route>
</camelContext>

相关问题