2017-06-13 54 views
-1

我在spring beans.xml中定義了駱駝上下文。在Beans.xml中定義的CamelContext。我如何以編程方式實例化camelContext路由

現在我想以編程方式在駱駝上下文中調用路由。我怎麼做。我想以編程方式執行此操作,因爲我想讓我的多個節點之一運行此下載。我不想讓這個駱駝的所有節點都運行下載。我打算將這作爲一項工作或使用動物園管理員,但不想改變我們編寫駱駝路線的方式。

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 

    http://camel.apache.org/schema/spring 
    http://camel.apache.org/schema/spring/camel-spring.xsd"> 
    <!-- Camel context which holds the route definitions --> 
    <camelContext id="camelpriceroutebean" errorHandlerRef="errorHandler" 
       xmlns="http://camel.apache.org/schema/spring"> 
    <route id="download-from-ftp" autoStartup="true" startupOrder="1"> 

現在我已經用下面的代碼

ApplicationContext context = new ClassPathXmlApplicationContext("/META-INF/springbean.xml"); 
    CamelContext camel = (CamelContext) context.getBean("camelpriceroutebean"); 

    List<Route> routes = camel.getRoutes(); 

試過但springbean.xml拋出expcetion。有沒有另一種方法來處理這個問題。 ?

回答

0

看到這個常見問題:http://camel.apache.org/running-camel-standalone.htmlhttp://camel.apache.org/running-camel-standalone-and-have-it-keep-running.html。您需要啓動Spring/Camel並保持JVM運行並允許路由從FTP服務器運行和下載。這是自動發生的,您不需要調用路由,以使其在從FTP端點消耗時運行。

我建議研究駱駝一些更多它是如何工作等更好地理解它。有例如FTP等案例在:https://github.com/apache/camel/tree/master/examples#examples

+0

嗨克勞斯,我想以編程方式做到這一點,因爲我想控制下載的和我的多臺機器的一個唯一做到這一點的下載時間。所以我正在尋找在我的駱駝環境中調用路線 – ssD

相關問題