Apache camel 驼峰动态uri参数
我想用camel实现如下功能:Apache camel 驼峰动态uri参数,apache-camel,enterprise-integration,Apache Camel,Enterprise Integration,我想用camel实现如下功能: from("direct:x").enrich(dynamicUri,new MyAggregatorStrategy()).to("direct:y") from("direct:x") .recipientList(header("dynamicUriHeader")).aggregationStrategy(new MyOwnAggregationStrategy()) .to("direct:y")
from("direct:x").enrich(dynamicUri,new MyAggregatorStrategy()).to("direct:y")
from("direct:x")
.recipientList(header("dynamicUriHeader")).aggregationStrategy(new MyOwnAggregationStrategy())
.to("direct:y");
动态uri基于来自direct:x
频道的每条消息。
因此,假设有一个xml项带有值a
,那么uri应该是http://someurl?q=a 但是dynamicUri只能是资源通道标识符
我找到了一些关于这个的讨论,但我并不真正理解它,而且“HttpProducer.HTTP_URI”在我的工作区中不可用。我需要哪一个驼峰包,我该怎么做?可能是处理器,但如何使用?您使用的是什么版本的Camel 在camel 2.0以后的版本中,键的许多常量名称都已移动到org.apache.camel.Exchange类中。因此,我们来看看这个类中的HTTP_URI常量。 这也是维基页面上列出的内容 Content-Enricher不支持动态URI,但是一些Camel组件允许将URI设置为头;比如骆驼http。这意味着在您的示例中,可以使用常量Exchange.HTTP_uri提供uri作为头 尽管如此,Camel中的收件人列表EIP模式实际上支持完全动态地评估URI,并且还支持聚合。 因此,您可以像这样实施解决方案:
from("direct:x").enrich(dynamicUri,new MyAggregatorStrategy()).to("direct:y")
from("direct:x")
.recipientList(header("dynamicUriHeader")).aggregationStrategy(new MyOwnAggregationStrategy())
.to("direct:y");