首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Apache Camel:"direct:start“端点-这是什么意思?

Apache Camel:"direct:start“端点-这是什么意思?
EN

Stack Overflow用户
提问于 2012-03-09 23:31:20
回答 7查看 43.8K关注 0票数 55

我是Apache Camel的新手。有人能解释一下“直接开始”在Camel中的意思吗?请参阅

https://camel.apache.org/components/latest/http-component.html

代码语言:javascript
运行
复制
from("direct:start")
.to("http://myhost/mypath");

谢谢。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-03-09 23:46:00

上面的"direct:start“只是说路由以名为"start”的Direct Component开始。

直接端点提供路由的同步调用。如果您想要向Exchange:start端点发送一个ProducerTemplate,则需要创建一个use并使用各种发送方法。

代码语言:javascript
运行
复制
ProducerTemplate template = context.createProducerTemplate();

template.sendBody("direct:start", "This is a test message");

start这个名字没有什么特别之处。这只是您在引用端点时要使用的名称,也可以很容易地将其命名为direct:foo

票数 63
EN

Stack Overflow用户

发布于 2015-08-22 10:25:43

假设like直达路由是一个名为start的方法,所以我们需要调用start方法/direct路由来执行某些操作。下面的例子会有所帮助。

当输入文件在XXXX位置可用时,将触发第一路由,当输入文件到达行时,实际流将转到第二路由。基本上,带有from端点的直接路由将由某个生产者端点触发。

代码语言:javascript
运行
复制
<route id="fileRoute">
   <from uri="file:XXXX">
      ..
   <to uri="direct:start">
</route>

<route id="directStartRoute">
    <from uri="direct:start">
    <to uri="http://myhost/mypath">
</route>
票数 11
EN

Stack Overflow用户

发布于 2017-12-16 19:02:34

Apache Camel direct基本上用于在相同的Camel上下文中将Exchange从一个路由发送到另一个路由。因此,假设您正在从AMQ获取消息,并且您希望为您获得的每条消息填充标头,然后将其发送到邮件收件人列表。所以在这里你需要创建一个新的路由器,它有以下描述

代码语言:javascript
运行
复制
from(“direct:populateHeaders”)
.setHeader(“myHeader”, “myHeaderValue”)
.end()

从任何路由,您都可以通过以下方式将Exchange对象发送到此路由

代码语言:javascript
运行
复制
...

.to(“direct:populateHeaders”)

...

重要的是要记住,这不会在你的Camel上下文中工作。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9636651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档