小编Jac*_*son的帖子

如何在 Spring XML 中为 Apache Camel 的灵活聚合策略设置“选择”表达式?

我正在尝试使用 Apache Camel 2.14 在 Spring XML 中配置 Apache Camel 路由。该路线将涉及一个<aggregator>或一个<enrich>/ <pollEnrich>;我对 Camel 的使用经验还不够,不知道哪个 EIP 最有用。不管怎样,我都需要一个aggregationStrategy. 我的最终目标是为希望在 XML 中配置路由的客户端创建 Camel 路由。

通过在互联网上搜索,我了解到存在一个名为 的 Camel 类FlexibleAggregationStrategy。我发现的东西声称,并且我引用,“它允许您快速创建一个 AggregationStrategy,能够以零 Java 代码执行最典型的聚合任务。” 这对我来说听起来很有用,因为我们希望尽可能多地使用 XML 进行配置。因此,最好避免AggregationStrategy用 Java 编写自己的代码。问题是,我不知道如何使用FlexibleAggregationStrategy.

据我所知,它FlexibleAggregationStrategy使用被Expression调用的消息从消息中挑选元素进行聚合pickExpression,并过滤掉与Predicate conditionPredicate. 因此,我假设我需要一种方法在 Spring XML 中设置这些值。不幸的是,我无法让以下代码块工作:

属性名称设置为pickExpression,值作为元素:

<bean id="FlexibleAggregationStrategy"
    class="org.apache.camel.util.toolbox.FlexibleAggregationStrategy">
    <property name="pickExpression">
        <xpath>
            //ID
        </xpath>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

属性名称设置为pick,值作为元素:

<bean id="FlexibleAggregationStrategy"
    class="org.apache.camel.util.toolbox.FlexibleAggregationStrategy">
    <property …
Run Code Online (Sandbox Code Playgroud)

xml apache spring apache-camel

4
推荐指数
1
解决办法
1869
查看次数

标签 统计

apache ×1

apache-camel ×1

spring ×1

xml ×1