我已经配置了如下所示的路线。我没有异常,但同时没有输出。
public static void main(String[] args) {
CamelContext camelContext = new DefaultCamelContext();
try {
camelContext.addRoutes(new RouteBuilder() {
public void configure() {
from("direct:foo")
.to("ahc:http://services.odata.org/V2/Northwind/Northwind.svc/")
.to("file:c:/workpro/outbox?fileName=ahc.xml");
}
});
camelContext.start();
}catch (Exception e1) {
}
}
执行后我应该在c盘中创建一个名为workpro的文件夹。您是否看到我定义路线的方式存在任何问题。
非常感谢, 勒凯什
答案 0 :(得分:1)
在from中使用计时器,如果您只想调用一次,则将其设置为repeatCount=1
。
非阻塞的开始方法 - 我刚加了一个睡眠30秒。但请参阅此常见问题解答以获取更好的方法:http://camel.apache.org/running-camel-standalone-and-have-it-keep-running.html
public static void main(String[] args) {
CamelContext camelContext = new DefaultCamelContext();
try {
camelContext.addRoutes(new RouteBuilder() {
public void configure() {
from("timer:foo?repeatCount=1")
.to("ahc:http://services.odata.org/V2/Northwind/Northwind.svc/")
.to("file:c:/workpro/outbox?fileName=ahc.xml");
}
});
camelContext.start();
Thread.sleep(30000);
camelContext.stop();
}catch (Exception e1) {
}
}
或者您可以直接使用计时器代替计时器,但是您需要向直接端点发送消息以触发您的路由运行。这些都记录在Apache Camel入门中,例如http://camel.apache.org/walk-through-an-example.html。建议Camel的新用户阅读:http://java.dzone.com/articles/open-source-integration-apache