我想了解更多關於Apache Camel的信息。我發現這個文檔有一定的幫助,但是對於初學者駱駝車手來說,不知道小代碼段應該如何輕鬆地融入到功能完善的程序中。希望大多數人知道我想描述的是什麼。在一些編程書籍中,我失去了很多其他時間,其中的代碼片段顯示在完全運行的程序的上下文之外。聚合計劃
無論如何,這裏是我的程序,由於某種原因不聚合消息。我希望能彙總我所有的信息,但是這個程序並沒有這樣做。運行程序時,我收到一個空文件,輸出爲而不是我的目標。
package laser.helmet.camel.friend;
import org.apache.camel.builder.RouteBuilder;
public class AggregatingMessagesRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
from("direct:start")
.aggregate().constant(true)
.completionTimeout(100L)
.groupExchanges()
.to("file:target/this_folder/result?allowNullBody=true");
}
}
然後,我從下面的課程中調用這個程序,其中當然有main
方法。
package laser.helmet.camel.friend;
import org.apache.camel.CamelContext;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.ProducerTemplate;
public class Main {
public static void main(String[] args) throws Exception {
CamelContext c = new DefaultCamelContext();
c.addRoutes(new AggregatingMessagesRoute());
ProducerTemplate pt = c.createProducerTemplate();
c.start();
pt.sendBody("direct:start", "1");
pt.sendBody("direct:start", "2");
Thread.sleep(5000);
c.stop();
}
}
我期待我與ProducerTemplate
創建兩個消息的身體既路線完成之後的文件中,但它只是一個空白文件。我不得不將零件allowNullBody=true
添加到路由中,因爲在運行此程序時由於某種原因,主體爲空。
此外,如果你是一個初學者,想知道。我正在引入Maven的依賴關係,而不是將camel.jars放在我的Java類路徑中。
感謝您閱讀這個每個人。 :D
那麼我該如何開始聚合消息Stackoverflow? 0_o
和平,
user_loser
如果向下投票請說明原因。儘管如此,緊張的勢利並不是一個合理的理由。感謝您關注這個小評論。 :) –
我投票贊成它來爲你平衡,這是一個非常好的問題,我敢打賭,未來會幫助很多人。 –