我是Apache Camel的新手。有人能解释一下“直接开始”在Camel中的意思吗?请参阅
https://camel.apache.org/components/latest/http-component.html
from("direct:start")
.to("http://myhost/mypath");谢谢。
发布于 2012-03-09 23:46:00
上面的"direct:start“只是说路由以名为"start”的Direct Component开始。
直接端点提供路由的同步调用。如果您想要向Exchange:start端点发送一个ProducerTemplate,则需要创建一个use并使用各种发送方法。
ProducerTemplate template = context.createProducerTemplate();
template.sendBody("direct:start", "This is a test message");start这个名字没有什么特别之处。这只是您在引用端点时要使用的名称,也可以很容易地将其命名为direct:foo。
发布于 2015-08-22 10:25:43
假设like直达路由是一个名为start的方法,所以我们需要调用start方法/direct路由来执行某些操作。下面的例子会有所帮助。
当输入文件在XXXX位置可用时,将触发第一路由,当输入文件到达行时,实际流将转到第二路由。基本上,带有from端点的直接路由将由某个生产者端点触发。
<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>发布于 2017-12-16 19:02:34
Apache Camel direct基本上用于在相同的Camel上下文中将Exchange从一个路由发送到另一个路由。因此,假设您正在从AMQ获取消息,并且您希望为您获得的每条消息填充标头,然后将其发送到邮件收件人列表。所以在这里你需要创建一个新的路由器,它有以下描述
from(“direct:populateHeaders”)
.setHeader(“myHeader”, “myHeaderValue”)
.end()从任何路由,您都可以通过以下方式将Exchange对象发送到此路由
...
.to(“direct:populateHeaders”)
...重要的是要记住,这不会在你的Camel上下文中工作。
https://stackoverflow.com/questions/9636651
复制相似问题