我是Apache Camel的新手。有人可以解釋駱駝的「直接:開始」是什麼意思。 請參閱Apache Camel:「direct:start」端點 - 意味着什麼?
from("direct:start")
.to("http://myhost/mypath");
感謝。
我是Apache Camel的新手。有人可以解釋駱駝的「直接:開始」是什麼意思。 請參閱Apache Camel:「direct:start」端點 - 意味着什麼?
from("direct:start")
.to("http://myhost/mypath");
感謝。
上面的「直接:啓動」僅僅是說路線從名爲「start」的Direct Component開始。
直接端點提供路由的同步調用。如果您想將Exchange
發送到direct:start端點,您將創建一個ProducerTemplate
並使用各種發送方法。
ProducerTemplate template = context.createProducerTemplate();
template.sendBody("direct:start", "This is a test message");
沒有什麼特別的名字start
。這只是您在提到端點時要使用的名稱,並且可能很容易就是direct:foo
。
謝謝。這仍然不清楚。讓我更具體一些。 「開始」具有特殊意義還是可以是任意字符串「foo」或「somethingelse」?其次 - 我在上面發佈的HTTP示例的上下文中是什麼意思?再次感謝。 – 2012-03-09 16:05:33
沒有特別的含義。這只是您要用來指代端點的名稱。它可能很容易就是「直接:富」。 – gregwhitaker 2012-03-09 16:07:04
以下是駱駝網站上的[直接鏈接](http://camel.apache.org/direct.html) – 2012-07-31 21:28:42
direct:start提供了兩個端點之間進行通信的同步方式,只有在您想使用駱駝消息而不是通用文件或xml消息進行通信時纔會使用。
假設像直接路由作爲名稱start的方法,所以我們需要調用start方法/直接路由來執行某些操作。下面的例子會有所幫助。
當輸入文件在XXXX位置可用並且到達線路時,第一條路線將被觸發,實際流程將轉到第二條路線。基本上,來自端點的直接路由將由某個生產者端點觸發。
<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>
Apache的駱駝直接的基本上是同一背景下的駱駝從一個路由發送的Exchange到另一個。假設您從AMQ收到消息,並且想要爲每封郵件填充標題,然後將其發送到郵件收件人列表。所以,在這裏,你需要創建新的路由器,它具有如下描述
from(「direct:populateHeaders」)
.setHeader(「myHeader」, 「myHeaderValue」)
.end()
,並從任何途徑可以通過編寫
...
.to(「direct:populateHeaders」)
...
它重要的是要記住,這將發送您的Exchange對象這條路線不適合你的駱駝上下文。
請注意,如果您正在尋找一條路線,當駱駝啓動時,「直接:啓動」不是你正在尋找 - 更多信息:http://stackoverflow.com/questions/7714211/apache -camel-triggering-a-task-on-startup-to-run-only-once – vikingsteve 2013-11-26 08:55:08