gpt4 book ai didi

java - 是否可以在 process() 中启动 Camel 端点

转载 作者:太空宇宙 更新时间:2023-11-04 11:31:07 24 4
gpt4 key购买 nike

正如标题所说:是否可以在路由(-builder)的流程函数中启动 Camel 端点?我是 apache Camel 的新手,但已经做过一些项目。

情况如下:我将 apache Camel 与西门子 Teamcenter RAC 结合使用来执行 SavedQuery。结果是包含找到的元素的 ModelObject[]。

对于每个元素,我现在需要启动另一个端点来执行第二个搜索查询。我想到了这样的事情:

//within .process()
for (ModelObject ob : arrModelObjects) {
// something like: .to("direct:searchnew")
}

但我无法在处理器内引用外部函数“.to()”。是否有解决方法或解决方案,或者我的想法错误?

最佳答案

正如 @Rathna 提到的,您可以使用 ProducerTemplate。

您可以根据您的上下文创建一个新的生产者模板,您可以从交换中获取该模板,如下所示:

public class MyProcessor implements Processor{

@Override
public void process(Exchange exchange) throws Exception {
ProducerTemplate producerTemplate = exchange.getContext().createProducerTemplate();

ModelObject[] arrModelObjects = (ModelObject[]) exchange.getIn().getBody();

for (ModelObject ob : arrModelObjects) {
producerTemplate.sendBody("direct:someEndpoint", ob);
}
}

}

关于java - 是否可以在 process() 中启动 Camel 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43784078/

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