我正在尝试使用 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)